事务同时提交

来源:11-19 【分布式事务解决方案二】-3PC三阶段提交

weixin_慕圣1052439

2025-01-10

图片描述
老师,请教一个问题:
如果在第一个阶段,协调者向第一个参与者发送 CanCommit 指令,第一个参与者返回 ok,协调者再向第二个参与者发送 CanCommit 指令,第二个参与者返回 不ok 的话,那么到第二阶段的时候,是不是第一个参与者和第二个参与者都会终止操作,并不会因为第一个参与者成功就提交第一个参与者 第二个参与者不成功就不会提交
那么第二个阶段是不是和第一个阶段一样,只有都成功才可以进行下一步,不会因为哪一个参与者成功就执行哪个,哪个参与者不成功就不执行
可否理解为所有操作要么都成功才可以提交事务操作,有一个操作不成功全部都终止事务操作

写回答

1回答

Er十七

2025-01-10

同学,你好。是必须要同时成功才可以。事务保证的就是,多方同时成功,或者同时回滚,不管是2pc 还是3pc,多次事务管理者与业务系统交互,就是为了保证最终同时成功,或者因某个业务系统失败后同时失败。

0
1
weixin_慕圣1052439
非常感谢老师的回答
2025-01-11
共1条回复

Java主流分布式解决方案多场景设计与实战

本课程是一门关于分布式系统下常见的解决方案的课程

178 学习 · 49 问题

查看课程