Paxos 共识算法

Paxos 通过提案编号与多数派接受达成共识;基础 Paxos 用于单值决策,Multi-Paxos 通过稳定的领导者扩展到日志复制。

角色提议者、接受者、学习者
核心步骤Prepare/Promise、Accept/Accepted
关系Raft 可视为面向工程实现的共识协议,思想上与 Multi-Paxos 同源

单值决策流程(简化)

单值决策流程(简化)
Prepare(n)   → 接受者承诺不再接受编号小于 n 的提案
Accept(n,v)  → 多数派接受后该值被选定

多值扩展:稳定领导者复用阶段一,
把连续决策摊薄为只做 Accept,提升吞吐
理解 Paxos 的重点是“多数派交集”如何保证安全性,而不是记忆阶段名称。

易错点

  • 直接实现基础 Paxos 处理日志流,性能与正确性都难保证
  • 混淆“接受”与“提交”,读出未达多数派的数据

数据来源与参考

  • Leslie Lamport《The Part-Time Parliament》(1998)
  • Leslie Lamport《Paxos Made Simple》(2001)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌