·XA 规范 是 X/Open 组织定义的分布式事务处理(DTP,Distributed Transaction Processing)标准。
·XA 规范 使用两阶段提交(2PC,Two-Phase Commit)协议来保证所有资源同时提交或回滚任何特定的事务。
角色说明:
·AP 应用程序,也就是业务层。哪些操作属于一个事务,AP来定义。
·RM 资源管理器。一般是数据库,也可以是消息队列,文件系统等。
·TM 事务管理器,接收AP的事务请求,对全局事务进行管理,管理事务的状态,协调RM的处理,通知RM哪些操作属于哪些全局事务以及事务分支等等。
AP自己操作TM,当需要事务时,AP向TM请求发起事务,TM负责整个事务的提交,回滚
2pc解决的是分布式数据强一致性问题
优点:
实现原理简单。
缺点:
- 性能问题:
2PC的提交在执行过程中,所有参与事务操作的逻辑都处于阻塞状态,也就是说,各个参与者都在等待其他参与者响应,无法进行其他操作;
- 数据不一致问题
数据不一致。当执行事务提交过程中,如果协调者向所有参与者发送Commit请求后,发生局部网络异常或者协调者在尚未发送完Commit请求,即出现崩溃,最终导致只有部分参与者收到、执行请求。于是整个系统将会出现数据不一致的情形;
- 协调者单点故障问题
事务协调者是整个XA模型的核心,一旦事务协调者节