一致性协议
- 2PC 和 3PC
- 一个事务操作需要跨越多个分布式节点
- Coordinator 和 Participant
- 2PC: Two-Phase Commit
- 保持原子性和一致性
- 绝大多数关系型数据库都是采用 2PC 来完成分布式事务处理
- 两个阶段
- 投票
- 执行/回滚
- 简单
- 同步阻塞、单点问题、脑裂、太过保守
- 保持原子性和一致性
- 3PC
- 三个阶段
- CanCommit
- 向所有参与者询问
- PreCommit
- doCommit
- CanCommit
- 降低参与者阻塞范围
- 出现单点故障后继续达成一致
- 三个阶段
- 一个事务操作需要跨越多个分布式节点
- Paxos 算法
- 高度容错特性的一致性算法
- 支持分布式节点角色之间轮换
- 来源
- 拜占庭将军问题
- 古希腊的 Paxos 小岛