故事形式背景
古希腊Paxos小岛,以议会的形式通过法令,议员通过信使传递消息,议员和信使都是兼职的,可能随时离开会议厅(节点挂掉),信使可能传递重复消息(网络消息重复),也可能一去不复返(网络丢包)
目标:议会协议(Paxos)要保证在这种情况下法令(结果)仍然能正确地产生,并且不会出现冲突
算法简介
lamport发明的一致性算法
引入 “过半”思想,并支持分布式节点角色之间的轮换,极大地避免了分布式单点的出现(2PC中的协调者)。既解决了无限等待,又解决了脑裂问题,是目前最优秀的分布式一致性算法之一。
参与者角色
1、proposal:提出提案
2、Acceptor:批准提案
3、Learner: 获取提案
前提假设
所有参与者都可能被重启,消息可能丢失和重复,但无法被篡改(篡改属于拜占庭将军问题)