1. 常见实现方式
- 2 PC 、3PC提交
- 柔性事务
-TCC两阶段补偿
-最大努力通知型
2. 包含至少3个角色
- AP 应用程序
- RS 资源服务
-
TM 事务管理器
一个AP需要操作多个RS上的资源。AP通过TM来声明一个全局事务,然后操作不同RS上的资源,最后通过TM来提交或者回滚事务
3. 2 PC模型
1. 阶段说明
- phase 1:准备阶段
RS需要锁定资源 - phase2:提交或回滚
2. 存在的问题
- 同步阻塞问题
由于phase1需要锁定资源,是一个比较重的操作,容易造成竞争 - 单点故障
一旦TM有问题,在phase1中锁定的资源就会无限期处于锁定事务资源的状态 - 数据不一致
在phase2中,TM向RS发送提交或者回滚消息时,如果发生网络延时、故障等,导致一部分RS没有收到消息,则RS们的状态是不一致的
4. 3PC模型
1.阶段说明
- phase1:canCommit
- phase2:preCommit
- phase3:doCommit
2.与2pc的区别
-在phase3中,新增了超时机制。这样在发生网络等问题时,RS们可自动执行。基于的假设是这种意外情况很少见。
3.存在的问题
-也会存在数据不一致的问题