螺竹编程
发布于 2024-05-26 / 4 阅读
0

分布式系统/分布式事务:两阶段提交协议

两阶段提交协议是指在计算机网络及数据库领域内,为了使分布式数据库的所有节点在进行事务提交时都保持一致性而设计的一种算法。

二阶段提交协议总结:参与者将操作成功或失败的结果通知事务管理器,再由事务管理器根据所有参与者的反馈决定各参与者是提交操作还是中止操作。

  • 准备阶段:事务管理器给资源管理器都发送预备消息,每个资源管理器要么直接返回失败,要么在本地事务;写本地的redo和undo日志,但是不提交日志。

  • 提交阶段:如果事务管理器收到了参与者的失败消息或者超时,则直接给所有资源管理器都发送回滚消息,否则发送提交消息;资源管理器根据协调者的指令执行提交或者回滚操作,释放在所有事务处理过程中使用的锁资源。