序
首先我们知道,Paxos算法,是一种基于消息传递且具有高度容错特性的共识(consensus)算法。这里我们不对它的发展和目标进行展开,如果有不清楚的可以参考wiki:https://zh.wikipedia.org/zh/Paxos%E7%AE%97%E6%B3%95
Paxos算法很强大,但同样也很难理解,那为什么我们还需要耗费时间去理解它呢,使用现成的解决方案不香吗?老实说,
- 为了面试!!
- 为了借鉴算法的思想,举一反三!!
这篇文章主要是使用流程图的方式,帮助读者抓住算法的关键点以及推导流程,使读者更容易理解并记住Paxos算法的工作原理。
概念
如果你还不太了解Paxos的这些核心概念,请参考wiki百科,
- Acceptor、Proposer、Learner
- 批准
- 选定 —— 被半数以上Proposer批准
- 提案 —— [编号,值],例如 [M0,V0],[Mn,Vn]
提案的选定
关注作者公众号,随时了解更多干货!

往期推荐