- TCC事务
- 队列
- 同步数据用队列传输
- 2PC两阶段提交
- 过程
- 表决(voting)
- 同意或取消
- 提交(commit)
- 提交或取消
- 表决(voting)
- 问题
- 所有节点同步阻塞
- 协调者单点故障
- 协调者commit中网络故障, 部分节点未提交
- 过程
- 3PC三阶段提交
- 过程
- 相比2PC
- 引入“预备超时”
- 参与者等待就绪超时,向协调者发送“无响应”,协调者广播“回滚”
- 引入“预备超时”
- 询问(can commit)
- 锁资源(pre commit)
- 提交(do commit)
- 相比2PC
- 过程