分布式事务
分布式事务(Distributed Transaction Processing,DTP)是指在分布式环境下,操作多个数据库的事务。
XA规范
XA是由X/Open组织提出的分布式事务的规范。
X/Open DTP 模型( 1994 )包括应用程序( AP )、事务管理器( TM )、资源管理器( RM )、通信资源管理器( CRM )四部分。
XA是RM和TM的交互规范和接口定义。
XA协议采用两阶段提交方式(2PC)来管理分布式事务。
- AP:这个角色要做两件事情,一方面是定义构成整个事务所需要的所有操作,另一方面是亲自访问资源节点来执行操作。
- RM:这个角色是管理着某些共享资源的自治域,比如说一个MySQL数据库实例。在DTP里面,还有两个要求,一是RM自身必须是支持事务的,二是RM能够根据将全局(分布式)事务标识定位到自己内部对应的事务。
- TM:这个角色能与AP和RM直接通信,协调AP和RM来实现分布式事务的完整性。主要的工作是提供AP注册全局事务的接口,颁发全局事务标识(GTID之类 的),存储/管理全局事务的内容和决策并指挥RM做commit/ro