[转帖]TUXEDO编程简介_MQ, Tuxedo及OLTP讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MQ, Tuxedo及OLTP讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3954 | 回复: 0   主题: [转帖]TUXEDO编程简介        下一篇 
luxiaofan
注册用户
等级:上尉
经验:705
发帖:67
精华:0
注册:2012-10-8
状态:离线
发送短消息息给luxiaofan 加好友    发送短消息息给luxiaofan 发消息
发表于: IP:您无权察看 2012-10-8 14:25:07 | [全部帖] [楼主帖] 楼主

中间件在下面几个方面有很大的优势:

中间可以屏蔽数据库的异构性,当选用不同的数据软件时,可以通过选用中间软件,来屏蔽他们之间的不同之处,实现透明访问;

平衡系统负载,提高系统的可靠性、稳定性、可用性;

为实现分布式数据库提供一条简便的途径,采用tuxedo基于事务的XA数据访问方式,可以很好的实现数据库的一致性,程序员不用为数据库的一致性而分散精力,将精力集中在关键业务的把握上。

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服务端的连接。



赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论