X/Open DTP模型与XA协议的学习笔记

最近的任务是里了解XA协议。要了解XA协议,必须先了解X/Open DTP模型,稍微总结一下:

X/Open DTP(Distributed Transaction Process)是一个分布式事务模型。这个模型主要使用了两段提交(2PC - Two-Phase-Commit)来保证分布式事务的完整性。在这个模型里面,有三个角色:

  • AP: Application,应用程序。也就是业务层。哪些操作属于一个事务,就是AP定义的。
  • TM: Transaction Manager,事务管理器。接收AP的事务请求,对全局事务进行管理,管理事务分支状态,协调RM的处理,通知RM哪些操作属于哪些全局事务以及事务分支等等。这个也是整个事务调度模型的核心部分。
  • RM:Resource Manager,资源管理器。一般是数据库,也可以是其他的资源管理器,如消息队列(如JMS数据源),文件系统等。

三者之间的关系如图:

一般的编程方式是这样的:

1. 配置TM,通过TM或者RM提供的方式,把RM注册到TM。可以理解为给TM注册RM作为数据源。一个TM可以注册多个RM。

1. AP从TM获取资源管理器的代理(例如:使用JTA接口,从TM管理的上下文中,获取出这个TM所管理的RM的JDBC连接或JMS连接)

2. AP向TM发起一个全局事务。这时,TM会通知各个RM。XID(全局事务ID)会通知到各个RM。

3. AP通过1中获取的连接,直接操作RM进行业务操作。这时,AP在每次操作时把XID(包括所属分支的信息)传递给RM,RM正是通过这个XID与2步中的XID关联来知道操作和事务的关系的。

4. AP结束全局事务。此时TM会通知RM全局事务结束。

5. 开始二段提交,也就是prepare - commit的过程。

XA协议(XA Specification),指的是TM和RM之间的接口。

其实这个协议只是定义了xa_和ax_系列的函数原型以及功能描述、约束和实施规范等。至于RM和TM之间通过什么协议通信,则没有提及。

目前知名的数据库,如Oracle, DB2等,都是实现了XA接口的,都可以作为RM。Tuxedo、TXseries等事务中间件可以通过XA协议跟这些数据源进行对接。

Tuxedo使用TMS(开关文件)进行对各个RM的注册。TMS文件生成通过一个类似编译链接的方式完成。(这点我有点不是十分确定。如有错误请各位纠正)。Tuxedo分为客户端和服务端程序。按照我的理解,客户端就是AP,服务端是TM

JTA(Java Transaction API)是符合X/Open DTP的一个编程模型,事务管理和资源管理器支架也是用了XA协议。

WebSphere本身也实现了JTA接口,其中TM和RM之间也是使用XA协议和二段提交。

WebSphere也可以通过XMLlink/XMLlink Wrapper和Tuxedo实现对接。

WebLogic可以通过WTC(WebLogic Tuxedo Connector)和Tuxedo进行对接。

X/Open DTP模型与XA协议的学习笔记

时间: 2024-10-31 08:53:37

X/Open DTP模型与XA协议的学习笔记的相关文章

TCP/IP协议组学习笔记

TCP/IP协议族学习笔记: 一.基础概念: (1)TCP(Transmission Control Protocol) 传输控制协议. (2)IP(Internet Protocol)网际协议.IP是一种不可靠的无连接数据协议,一种尽最大努力交付的服务. (3)ISP(Internet Service Provider)因特网服务提供者. (4)ISO 国际标准化组织. (5)IEEE 电气和电子工程学会. (6)W3C 万维网联盟. (7) OMA 开放移动联盟. (8)RFC(Reques

ICMP:Internet控制报文协议实现学习笔记

ICMP是网络层的一个协议,可以看作IP协议的附属协议,因为它主要被IP用来与其他主机或路由器交换错误报文及其他需要注意的信息.当然,更高层协议(tcp/udp)甚至有些用户进程也可能用到ICMP报文 注册ICMP协议和ICMP协议的处理涉及以下文件: net/ipv4/icmp.c ICMP协议处理入口 net/ipv4/af_inet.c 网络层和传输层接口 ICMP报文结构 参见tcp/ip协议学习笔记(5)Internet Control Message Protocol(ICMP) 注

TCP/IP协议原理学习笔记

昨天学习了杨宁老师的TCP/IP协议原理第一讲和第二讲,主要介绍了OSI模型,整理如下: OSI是open system innerconnection的简称,即开放式系统互联参考模型,它把网络协议从逻辑上分为了7层.即如上图所示: 1.物理层:主要定义物理设备标准,如网线的接口类型.光纤的接口类型.各种传输介质的传输速率等.它的主要作用是传输比特流(就是由1.0转化为电流强弱来进行传输,到达目的地后在转化为1.0,也就是我们常说的数模转换与模数转换).这一层的数据叫做比特. 2.数据链路层:定

逻辑斯谛回归与最大熵模型-《统计学习方法》学习笔记

0. 概述: Logistic回归是统计学中的经典分类方法,最大熵是概率模型学习的一个准则,将其推广到分类问题得到最大熵模型,logistic回归模型与最大熵模型都是对数线性模型. 本文第一部分主要讲什么是logistic(逻辑斯谛)回归模型,以及模型的参数估计,使用的是极大对数似然估计以及梯度下降法,第二部分介绍什么是最大熵模型,首先介绍最大熵原理, 然后根据最大熵原理推出最大熵模型,在求解最大熵模型时候,要引入拉格朗日对偶性(在下一篇文章中)的讲解,将最大熵模型的学习归结为对偶函数的极大化,

STP(生成树协议)--学习笔记

一·STP STP协议在逻辑上断开网络的环路,防止广播风暴的产生,而一旦正在使用的线路出现故障,逻辑上被断开的线路又被连同,起到了冗余备份的作用.解决二层环路的问题. 二·生成树工作原理 生成树协议的算法过程可以归纳为三个步骤:选择根网桥.选择根端口.选择指定端口. (1)选择根网桥:再全网中选择一个根网桥 比较网桥的BID值,值越小其优先级越高.ID值是由两部分组成的:交换机的优先级和MAC地址组成的,如果交换机的优先级相同则比较其MAC地址,地址值越小,其就被选举为根网桥. (2)选择根端口

HSRP(热备份路由选择协议)---学习笔记

HSRP(hot standby routig protectol)热备份路由选择协议:是Cisco的一种私有技术.与VRRP工作原理基本相同. 一?HSRP 的概念 (1) 概述:通过建立虚拟路由器组和虚拟mac地址实现IP网络冗余备份(三层网络路由),HSRP使组内的Cisco路由器能够互相监视对方的运行状态.(2) 组成:①活跃路由器:转发发送到虚拟路由器的数据包.② 备份路由器:监视HSRP的运行状态,并且当活跃路由器不能运行时,迅速承担起转发数据包的责任.③ 虚拟路由器:向最终用户提供

V-rep学习笔记:机器人模型创建2—添加关节

下面接着之前经过简化并调整好视觉效果的模型继续工作流,为了使模型能受控制运动起来必须在合适的位置上添加相应的运动副/关节.一般情况下我们可以查阅手册或根据设计图纸获得这些关节的准确位置和姿态,知道这些信息以后就可以通过[Menu bar --> Add --> Joints --> ...]来添加关节了, 之后可以通过位置和姿态对话框来调整关节位置姿态.在之前写过的V-rep学习笔记:曲柄摇杆机构中就是按照这种方式添加的关节. 如果我们有机器人的DH参数表也可以使用VREP中的工具来生成

OSI七层协议模型、TCP/IP四层模型学习笔记

1. OSI七层和TCP/IP四层的关系 1.1 OSI引入了服务.接口.协议.分层的概念,TCP/IP借鉴了OSI的这些概念建立TCP/IP模型. 1.2 OSI先有模型,后有协议,先有标准,后进行实践:而TCP/IP则相反,先有协议和应用再提出了模型,且是参照的OSI模型. 1.3 OSI是一种理论下的模型,而TCP/IP已被广泛使用,成为网络互联事实上的标准. TCP:transmission control protocol 传输控制协议 UDP:user data protocol 用

tcp/ip协议学习笔记一

一. 简述 以前在学校学习计算机网络的时候学习多是网络7层模型OSI,了解了一些基本的计算机网络概念和协议通信格式,但是一直没弄明白其中的原理,包括各层之间的关系,应用,还有一些常见的令牌环网到底是什么东西,这个OSI它和 TCP/IP协议簇到底是什么关系,为什么有很多协议一样?ip指令格式是什么样的?为什么老是忘记,记不住?3次握手,4次握手协议是什么?ack,syn等等说不清道不明字段是指什么?为什么以太网网卡通信速率有100mbps,两台主机之间的通信却只有不到120kpbs?...所有的