从头开始学分库分表-------三阶段提交协议
三阶段提交协议
三阶段提交主要解决了二阶段提交的缺点。
(1)【事务管理器】及【数据库事务参与者】都增加了超时机制。在二阶段提交协议中,会出现无限期等待阻塞的情况。
(2)增加了一个新阶段。相当于把之前的准备阶段拆分成两个新的阶段--------CanCommit阶段与PreCommit阶段。
优点:三阶段提交协议可以有效避免阻塞情况的出现,因为不管是协调者也好,还是参与者也好,都增加了超时机制。
缺点:相对于2PC,3PC增加了网络通讯次数,实现起来比较复杂。