算法论文(一)"/>
paxos算法论文(一)
1.为了方便叙述,定义三种角色
proposer:负责发起提案
acceptor:负责接收和批准提案。有投票权,收到提案后可以有两个动作。
learner:当选举结束后,负责结果的广播和持久化。选举的监督者。
- 一个节点可以同时承担多个角色
2.process名词的理解
对应系统里的节点(机器)
- 可以想象成一场电影里有很多演员(演员就是我们的process),一个演员可以分饰多种角色。
最简单的系统:只有一个acceptor,存在单节点故障问题。
分布式系统:多个acceptor
3.系统什么时候系统达成共识?
- The value is chosen when a large enough set of acceptors have accepted it
我们不要求所有acceptor都批准同一份提案的时候才认为选举已经出来了
该要求太严格,因为分布式系统中可能随时会有acceptor挂掉,所以不要求所有acceptor同时批准,只要有足够多的acceptor批准(多数派集合)同时批准某一个value,就可以认为该value是最终的选举结果。
选举出结果的前提是acceptor要去批准提=提案,如果acceptor故意不批准提案,就可能永远选不出结果,于是有了第一个约束条件p1
4.关于p1
- an acceptor must accept the first pr
更多推荐
paxos算法论文(一)
发布评论