美文网首页
分布式事务解决方案——2PC

分布式事务解决方案——2PC

作者: 嘘寒问暖 | 来源:发表于2022-05-05 22:16 被阅读0次

    分布式事务解决方案

    2PC即两阶段提交协议,是将整个事务流程分为两个阶段,P是指准备阶段,C是指提交阶段。

    1. 准备阶段(Prepare phase)

    2. 提交阶段(Commit phase)

    举例:比如说相亲对象两个人去吃饭,店老板要求,先付钱在吃饭,这是男女双方提出了AA,也就是说只有男女双方都付钱,才能落座吃饭,但是只要两个人中有一个不同意付款就不能落座吃饭。

    准备阶段:老板要求男方付款,男方付款。老板要求女方付款,女方付款

    提交阶段:老板出餐,两人纷纷落座

    其实此例子就形成了一个事务,如果男女双方有一个人拒绝付款,那么老板就不会出餐,并且会把已收取的钱原路退回。

    整个事务过程是由事务管理器和参与者组成的,店老板就是事务管管理器,男女双发就是参与者,事务管理器决策整个分布式事务在计算机中关系数据库支持的两阶段提交协议:

    准备阶段(Prepare phase):事务管理器给每个参与者发送Prepare消息,每个数据库参与者在本地执行事务,并写本地的Undo/Redo日志,此时事务没有提交。

    (Undo日志是记录修改前的数据,用于数据库回滚,Redo日志是记录修改后的数据,用于提交事务后写入数据文件)

    提交阶段(Commit phase):如果事务管理器收到了参与者的执行失败或者超时消息时,直接给每个参与者发送回滚(Rollback)消息;否则,发送提交(Commit)消息;参与者根据事务管理器的指令执行提交或者回滚操作,并释放事务处理过程中使用的资源。

    具体步骤图例:

    成功:

    失败:

    相关文章

      网友评论

          本文标题:分布式事务解决方案——2PC

          本文链接:https://www.haomeiwen.com/subject/pynoyrtx.html