前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >3PC(三阶段提交)

3PC(三阶段提交)

原创
作者头像
Get
发布2024-03-25 22:28:44
1110
发布2024-03-25 22:28:44

三阶段提交(3PC)

代码语言:java
复制
1、CanCommit:协调者向所有参与者发出包含事务内容的 canCommit 请求,询问是否可以提交事务,并等待所有参与者答复。
2、PreCommit:协调者根据参与者的反应情况来决定是否可以进行事务的PreCommit操作
              事务预提交 :参与者接收到PreCommit请求后,会执行事务操作,并将undo和redo信息记录到事务日志中(但不提交事务)
3、DoCommit:协调者根据参与者反映情况决定是否执行提交或回滚操作
3PC 相对于 2PC 有两个改动点:
1、超时机制:在协调者和参与者中都引入超时机制
2、增加了CanCommit阶段:在第一阶段和第二阶段中插入一个准备阶段,保证了在最后提交阶段之前各参与节点的状态是一致的。
因超时机制会中断事务解决了单点故障问题,但数据不一致问题依然存在

clipboard.png
clipboard.png

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档