三阶段提交(3PC)
1、CanCommit:协调者向所有参与者发出包含事务内容的 canCommit 请求,询问是否可以提交事务,并等待所有参与者答复。
2、PreCommit:协调者根据参与者的反应情况来决定是否可以进行事务的PreCommit操作
事务预提交 :参与者接收到PreCommit请求后,会执行事务操作,并将undo和redo信息记录到事务日志中(但不提交事务)
3、DoCommit:协调者根据参与者反映情况决定是否执行提交或回滚操作
3PC 相对于 2PC 有两个改动点:
1、超时机制:在协调者和参与者中都引入超时机制
2、增加了CanCommit阶段:在第一阶段和第二阶段中插入一个准备阶段,保证了在最后提交阶段之前各参与节点的状态是一致的。
因超时机制会中断事务解决了单点故障问题,但数据不一致问题依然存在
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。