分布式系统架构系列讲解 - 总目录
一、简介
在二阶段协议中,事务参与者在投票阶段,如果同意提交事务,则会锁定资源,此时任何其他访问该资源的请求将处于阻塞状态。
正因为这个原因,三阶段协议(Three-phase commit protocol, 3PC)对二阶段协议进行了改进:
-
一方面引入超时机制,解决资源阻塞问题;
-
另一方面新增一个询问阶段(CanCommit),提前确认下各个参与者的状态是否正常。
二、协议详解
我们先来看下三阶段提交协议的成功场景:
在二阶段协议中,事务参与者在投票阶段,如果同意提交事务,则会锁定资源,此时任何其他访问该资源的请求将处于阻塞状态。
正因为这个原因,三阶段协议(Three-phase commit protocol, 3PC)对二阶段协议进行了改进:
一方面引入超时机制,解决资源阻塞问题;
另一方面新增一个询问阶段(CanCommit),提前确认下各个参与者的状态是否正常。
我们先来看下三阶段提交协议的成功场景: