https://timyang.net/distributed/paxos-scenarios/
在分布式算法领域,有位非常重要的短发叫Paxos,它的重要性有多高呢?Google的Chubby【1】中提到:
all working protocols for asynchronous consensus we have so far encountered have Paxos at their core.
关于Paxos短发的橡树在维基百科中有介绍,中文版介绍是choose value 的规则【2】。英文版介绍的是Paxos 3 commit 的流程【3】,中文版不是从英文版而是独立写的,所以非常具有互补性。 Paxos算法是由Leslie Lamport提出的,他在Paxos Made Simple[4]中写道:
The Paxos when presented in plain English is plained in a plain English,it very simple.
当你研究了很长一段时间Paxos算法还是有点迷糊的时候,看到上面这句话可能会有点沮丧。但是公认的它的算法还是比较繁琐的,尤其是要用程序员严谨的思维将所有细节理清的时候,你的脑袋里更是会充满了问号。LesLie Lamport也是用了长达9年的时间来完善这个算法的理论。
实际上对于一般的开发人员,我们并不需要了解Paxos所有细节及其如何实现,只需要知道Paxos是一个分布式选举算法就够了。本文主要介绍一人Paxos常用的应用场合,或许有一天当你的系统增加到一定规模,你知道这样的一个技术,可以帮助你正确及优雅的解决技术架构上一些难题。