本版版主招募中

 
闲云
超级版主
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17


UID 12795
精华 20
积分 2501
帖子 4264
活跃指数 362
LU金币 6094 个
LU金条 431514 个
阅读权限 251
注册 2004-2-23
来自 温州
 
发表于 2006-9-19 20:03  资料  个人空间  短消息  加为好友 
Tuxedo交易过程

Tuxedo从逻辑上可以将应用分为以下几个层次:Domain、Machine、Group、Server、Service。可以通过两种方式来实现Service与Service之间的相互调用。通过tpcall进行同步或异步调用;通过tpforword实现交易请求的转发

TUXEO系统的运行需要三类IPC资源:Share Memory,Message Queue,semphone

交易调用过程
系统交易的发起过程,需要综合调用各种IPC资源。协调系统的各个管理进程协同工作。在整个交易的调用过程中:
1 首先客户端,跟需要通过TUXEDO的tpinit函数调用建立与TUXEDO服务端的通讯连接。在这一过程中同时完成对客户端的登陆用户的鉴权。在通过鉴权后,TUXEDO的系统进程WSL为其分配一个WSH受理以后发起的请求。在这一过程中,TUXEDO的WSL侦听进程对连接占用的时间进行控制 (timeout是WSL的启动参数,可配),当连接超时时,TUXEDOWSL将断开WSH。如果WSH比较繁忙,无暇处理新的连接请求,那么WSL就将请求放入消息队列中,等待受理。当然请求不会无限在消息队列中等待,超时后清除。
2 TUXEDO客户准备前台数据,并发起服务调用请求,通过tpcall/tpacall将请求的服务命令字,以及请求数据包发送到服务端。TUXEDO服务端将客户端提交的请求交于WSH。WSH代理客户端的请求,将用户的请求放入对应的接收消息队列中。服务处于等待状态,直到有空闲SERVER来受理用户请求。超时时间通过ubbconfig中的*resource段blocktime进行控制。超时后返回系统交易失败。
TUXEDO通过维护SERVICE和SERVER对应表,来根据SERVICE查找到受理它的对应进程。
3 SERVER进程自从启动后,一直监视接收消息队列,当空闲且恰有请求位于消息队列时,从接收消息队列中取出请求,交于相应的交易处理函数处理用户请求。从交易的受理到交易的受理结束通过SERVICE段SVCTIMEOUT参数进行控制,当受理超时时,BBL向对应进程发KILLSIG。对于基于XA的应用,当事务处理超过tpbegin的超时参数时,SERVICE处理结束,返回交易失败。
4 SERVER进程将处理结果,返回数据提交到发送消息队列,由系统将返回数据返回客户端,当返回数据失败时,系统在ULOG日志中记录告警信息。
5 前台客户端取出数据,分析交易受理结果。
6 断开与后台服务端的连接,调用TUXEDO tpterm函数释放与TUXEDO服务端的连接。


本帖最近评分记录
jxufe   2006-10-14 12:19  LU金币  +5   精品文章
顶部
sujianl (大象)
LU小天使
Rank: 3Rank: 3



UID 43403
精华 3
积分 242
帖子 355
活跃指数 68
LU金币 462 个
LU金条 0 个
阅读权限 20
注册 2006-3-30
 
发表于 2006-10-13 00:05  资料  个人空间  短消息  加为好友 
闲云姐姐真好~~~

顶部
闲云
超级版主
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17


UID 12795
精华 20
积分 2501
帖子 4264
活跃指数 362
LU金币 6094 个
LU金条 431514 个
阅读权限 251
注册 2004-2-23
来自 温州
 
发表于 2006-10-13 20:34  资料  个人空间  短消息  加为好友 


QUOTE:
原帖由 sujianl 于 2006-10-13 00:05 发表
闲云姐姐真好~~~

宝宝,真乖

顶部
broken
LU新生
Rank: 1



UID 22894
精华 0
积分 3
帖子 5
活跃指数 0
LU金币 2011 个
LU金条 0 个
阅读权限 10
注册 2004-6-11
 
发表于 2006-10-14 19:10  资料  个人空间  短消息  加为好友 
顶!好贴! ^_^

server 和 service 有什么区别?

顶部
闲云
超级版主
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17


UID 12795
精华 20
积分 2501
帖子 4264
活跃指数 362
LU金币 6094 个
LU金条 431514 个
阅读权限 251
注册 2004-2-23
来自 温州
 
发表于 2006-10-15 00:52  资料  个人空间  短消息  加为好友 
一个server中可以有多个service,也可以只有一个service.
但是如果一个server中只有一个service,显然会增加server的数量,即系统进程数
,(一个server对应一个系统进程),因此tuxedo系统会增加对系统IPC资源的需求,
导致系统性能下降,或者超过系统限制,导致tuxedo系统无法启动成功。
所以一般将多个service放到一个server中,降低tuxedo对系统IPC资源的需求。

顶部
broken
LU新生
Rank: 1



UID 22894
精华 0
积分 3
帖子 5
活跃指数 0
LU金币 2011 个
LU金条 0 个
阅读权限 10
注册 2004-6-11
 
发表于 2006-10-19 16:13  资料  个人空间  短消息  加为好友 
BANZHU  Domain、Machine、Group   有什么区别??


谢谢! 我们正在开始考虑使用tuxedo ,多谢指导。

顶部
[广告] 记录自己的思想火花,留住每日的技术积累,尽在拥有属于自己独立域名的博客。
闲云
超级版主
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17


UID 12795
精华 20
积分 2501
帖子 4264
活跃指数 362
LU金币 6094 个
LU金条 431514 个
阅读权限 251
注册 2004-2-23
来自 温州
 
发表于 2006-10-19 16:50  资料  个人空间  短消息  加为好友 
这三个的区别是很显而易见的,是不是自己先看看书?

server,service一开始,是会有点混淆的

顶部
[广告] 记录自己的思想火花,留住每日的技术积累,尽在拥有属于自己独立域名的博客。
大漠孤星
管理员
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20


LU爱心使者  
UID 257
精华 24
积分 3097
帖子 4279
活跃指数 570
LU金币 2934 个
LU金条 422 个
阅读权限 255
注册 2003-9-30

用支付宝求购
 
发表于 2006-10-20 13:37  资料  个人空间  短消息  加为好友  添加 大漠孤星 为MSN好友 通过MSN和 大漠孤星 交谈 QQ


QUOTE:
原帖由 broken 于 2006-10-19 16:13 发表
BANZHU  Domain、Machine、Group   有什么区别??


谢谢! 我们正在开始考虑使用tuxedo ,多谢指导。

Domain,MP,Gateway等等是一个系列的。
Machine,Group ,Server,Service,ROUTING等等属于UBB内容。

你如果买了TUXEDO,看一下里面的 联机文档,你会知道很多基本的东西。





顶部
[广告] 记录自己的思想火花,留住每日的技术积累,尽在拥有属于自己独立域名的博客。
 



当前时区 GMT+8, 现在时间是 2008-10-13 22:39
乐悠LoveUnix论坛-京ICP备05005823号

Thanks to Discuz!  © 2001-2007    Power by LoveUnix.net
Processed in 0.057747 second(s), 7 queries , Gzip enabled

清除 Cookies - 联系我们 - 乐悠LoveUnix - Archiver