分布式事务是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于分布式系统的不同节点上。
1.分布式事务模型与规范——XA
X/Open分布式事务处理模型——X/Open DTP模型:
三大组件
Application Program(AP):即应用程序,可以理解为使用DTP模型的程序。它定义了事务边界,并定义了构成该事务的应用程序的特定操作。
Resource Manager(RM):资源管理器,可以理解为一个DBMS系统,或者消息服务器管理系统。应用程序通过资源管理器对资源进行控制,资源必须实现XA定义的接口。资源管理器提供了共享事务的支持。
Transation Manager(TM):事务管理器,负责协调和管理事务,提供给AP应用程序编程接口并管理资源服务器。事务管理器向事务提供指定标识,监视它们的进程,并负责处理事务的完成和失败。事务分支标识(称为XID)由TM指定,以标识一个RM内全部事务和特定分支。它是TM中日志与RM中日志之间的相关标记。两阶段提交或回滚需要XID,以便在系统启动时执行再同步操作(也称为再同步(resync)),或在需要时允许管理员执行试探操作(也称为手工干预)。
在这三个组件中,AP可以和TM、RM通信,TM和RM之间可以互相通信。DTP模型里面定义了XA接口,TM和RM通过XA接口进行双向通信。DTP模型里面定义了XA接口,TM和RM通过XA接口进行双向的通信。