9.1TUXEDO如何处理分布式事务.doc

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
9.1TUXEDO如何处理分布式事务.doc

9.1 TUXEDO如何处理分布式事务 在两层的C/S结构中,客户端直接访问数据库,当采用TUXEDO中间件后,形成三层结构。这时,客户端不直接访问数据库,而是改为调用中间件TUXEDO服务端上的服务,由TUXEDO服务端访问数据库,并把结果返回给客户端。如图所示。 客户端 客户端 TUXEDO应用服务器数据库 TUXEDO应用服务器 数据库 客户端 客户端 客户端 客户端 TUXEDO支持ORACLE、SYBASE、INGRES、DB2等UNIX上的大型数据库和NT上的SQL Server,并且还支持C-ISAM文件系统。即可以通过XA协议, 也可不用XA协议与数据库进行连接。在说明TUXEDO与数据库的连接的配置及编程之前,我们先解释一些名词。 名词解释 资源管理器(RESOURCE MANAGER): 最常见的是数据库,可以是其他的,如TUXEDO的QUEUE,EJB的JMS等,它们对数据进行管理和维护. 事务(TRANSACTION): 事务的定义很多,简单地说,事务是对资源管理器的一组操作,它使所涉及的资源管理器从一个状态转变到另一个状态,这些操作要么全部成功,要么全部失败。事务具有以下的4个特征(一般称为ACID): 原子性(ATOMICITY): 指事务中的所有操作作为一个整体单元要么成功要么失败. 一致性(CONSISTENCY):一致性意味着不管事务提交或放弃,参与事务的所以资源管理器 在事务结束后都保持一种合法的状态.一致性也意味着,当一个事务结束时,所有的参 与者都要释放它所锁住的资源. 隔离性(ISOLATION):隔离性意味着事务正在处理过程中,在事务外面无法看到事务处理的 中间结果. 持久性(DURABILITY):使事务的最终结果已被真正写到磁盘系统中. 本地事务(LOCAL TRANSACTION): 如果一个事务只涉及到一个资源管理器,那么该事务称为本地事务。在TUXEDO中,不通过XA接口的事务都是本地事务,如:在ORACLE中,用EXEC CONNECT建立与数据库的连接,并用EXEC COMMIT 提交一个事务,那么该事务就是本地事务. 全局事务(GLOBAL TRANSACTION): 全局事务涉及到一个或多个资源管理器,它也称为分布式事务(DISTRBUTED TRANSACTION),对所有涉及的资源管理器的操作必须被看作单个工作单元。它们必须被同步,并在所有服务器上圆满完成,否则,就必须被彻底取消。例如:一个服务器在写过程中被关闭,那么事务处理中其他系统上的所有写的东西就必须被取消。在TUXEDO中,采用XA接口的事务都是全局事务。全局事务是相对LT而言的,它也有AICD四个特性,所不同的是它可以跨越多个资源管理器,这些资源管理器可能在不同的平台上。在TUXEDO中,一个全局事务最多可跨越16个不同的资源管理器. 事务管理器(TRANSACTIN MORNITOR): 管理协调参与全局事务的各个资源管理器的准备,提交及回滚等操作,事务管理器还在出现场地故障、网络故障或全局资源死锁时协调全局事务的恢复。TUXEDO在全局事务中就充当事务管理器的作用。在一个全局事务中有一个事务协调器,有一个以上的资源管理器。事务协调器与资源管理器之间采用XA协议进行通讯在TUXEDO中一个GROUP只能有以个资源管理器,所以一个全局事务会跨越多个GROUP XA协议: XA协议由TUXEDO首先提出,并交给X/Open组织,作为资源管理器(数据库)与事务管理器的接口标准。Informix是最早宣布支持XA协议的数据库厂家,Informix5.0以上的版本都提供XA接口,以实现与TUXEDO的连接。目前,Oracle、Informix、DB2、Sybase等各大数据库厂家都提供对XA的支持.XA协议采用两阶段提交方式来管理分布式事务.XA接口提供资源管理器与事务管理器之间的进行通讯的标准接口,TUXEDO支持基本的XA规范 (PRELIMINARY XA SPECIFICATION),及最终的XA规范(THE FINAL SPECIFICATION).XA协议包括两套函数,以xa_开头的及以ax_开头的. 以下的函数使事务管理器可对RM进行操作 xa_open, xa_close:建立,关闭与RM的连接 xa_start,xa_end:开始,结束一个本地事务 xa_prepare,xa_commit,xa_rollback:预提交,提交,回滚一个本地事务 xa_recover:回滚一个已进行预提交的事务 ax_开头的函数使RM可以动态在事务管理器中进行注册,并可以对XID(TRANSACTION IDS)进行操作. 说明: 在FINAL XA SPECI

您可能关注的文档

文档评论(0)

xiaoxiaoxin + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档