1.来源
Paxos算法是莱斯利·兰伯特(Leslie Lamport)于1990年提出的一种基于消息传递的一致性算法。
1.1.故事
在古希腊,有一个叫做Paxos的小岛,岛上通过议会的形式来通过法令,议会中议员通过信使来传递消息。议员和信使都是兼职的,他们随时有可能离开会议厅,并且信使可能会重复的传递消息,也可能丢失消息。因此议会要保证在这种情况下法令仍然能够正确地产生,并且不会出现冲突。
1.2.波折
1990年,The Part-Time Parliament,完成并投稿,无人能懂,被拒
1996年,上述论文被重审,Nancy Lynch公布修改版Revisiting the Paxos Algorithm
1998年,The Part-Time Parliament终于被ACM TOCS接收
2001年,Lamport本人重新讲述原文,发表了论文Paxos Made Simple
2.分布式事务的CAP理论
一致性(Consistency)
可用性(Availability)
分区容错性(Partition Tolerance)
三者不可兼得
3.常见一致性协议
两阶段提交
三阶段提交
ZAB协议
Paxos协议
Raft协议
3.1.限定
只有被提出的提案才能被选定
在被提出的提案中,只有一个提案会被选定
如果没有被提出