2PC两段提交协议

2pc两段提交协议

两段提交协议里面角色有

发起者(参与者): 接口调用的服务

参与者: 发起方里进行远程调用的接口

协调者(全局事务者):整个服务事务的管理方

两段提交协议详细说明

在这里插入图片描述

第一阶段提交

协调者会向发起者和参与者发送一个指令,如果发起者和参与者收到指令后,都会把该业务逻辑执行完成并且成功返回给协调者。协调者在第二阶段会发送提交事务通知。

如果有一方返回执行失败,协调者会终止提交。

第二阶段提交

如果发起者和参与者全部都明确返回成功,则协调者向参与者发送提交指令,发起者和参与者释放锁定资源。如果一个参与者或发起者明确的返回失败,则协调者会发送终止指令。参与者和发起者都会取消已变更的事务。释放锁定的资源。

缺点: 如果协调者宕机了,参与者和发起者没有协调者的指挥,就会有同步阻塞。导致锁表的情况。所以才有三段提交协议概念

注意:在两段提交协议里,是没有超时机制的概念

应用:解决传统项目事务 jta+Atomikos里面使用了

ps:如果有问题请在评论下指正

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章