6.4 两阶段提交

分布式事务

1. 知识点论述
「6.4 两阶段提交」是《分布式计算系统》分布式事务部分的核心知识点。把跨节点操作组织成可提交或可回滚的事务。本知识点首先把握:准备阶段:协调者问参与者能否提交,回答 Yes 的参与者进入就绪并等待。学习时请把它放回整门课主线——把独立计算机组织成对用户像一台机器的系统,并用通信、数据放置、复制、容错与调度把这件事做可靠。
2. 视频教程

两阶段提交与三阶段提交

3. 知识点详解

下面围绕本知识点展开要点说明,建议结合上方视频边看边对照。

  1. 准备阶段:协调者问参与者能否提交,回答 Yes 的参与者进入就绪并等待。
  2. 提交阶段:协调者发提交或中止,参与者执行。
  3. 故障:准备阶段参与者崩溃:协调者收不到票。;提交阶段参与者崩溃:恢复后按日志完成决定。;准备或提交阶段协调者崩溃:参与者可能不知道最终决定,从而阻塞。
  4. 与共识的关系:可用 Raft 一类复制状态机持久化协调者的决定,减少单点。
学习建议:先抓住定义与问题,再理解机制步骤,最后对照应用场景思考“何时用、何时不用、代价是什么”。
4. 应用场景
  • 跨库转账、跨服务提交。
  • 理解协调者崩溃导致阻塞的风险。
  • 用共识日志固化协调者决定。