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算法的基本概念,包括系统中的三种角色(proposer、acceptor、learner)及其职责。文章讨论了分布式系统中如何达成共识,强调了不需要所有acceptor同时批准提案,只需多数派同意即可。提出了P1和P2两个约束条件,P1规定acceptor必须批准其收到的第一个提案,而P2确保一旦某个value被选定,所有更高编号的提案内容必须与之相同。文章还探讨了编号在提案中的作用,以及如何处理提案冲突和acceptor的叛变情况。
最低0.47元/天 解锁文章
581

被折叠的 条评论
为什么被折叠?



