Paxos与Raft的简明比较

2018-04-03
阅读 2 分钟
7.7k
基本术语和操作对应 Paxos术语/操作 Raft术语/操作 备注 Proposal Number (PN) Term Paxos建议每个 Proposer 可用的 PN 集合不相交(disjoint sets); Raft 允许各个 Follower 竞选 Leader 时用相同的Term,Voter结合Term和VotedFor,区分到底支持了谁。 Value is Chosen (值被选定/形成决议) Commit 下面有解释,二者独立...

Ceph的Paxos源码注释 - Phase 2

2017-07-30
阅读 19 分钟
4.4k
上篇是Phase 1,即leader当选后确定PN的部分。这篇主要是Phase 2,即正常工作过程中的Propose、accept和commit过程。

Ceph的Paxos源码注释 - Phase 1

2017-07-30
阅读 18 分钟
5.4k
每次选举产生新的leader,也会产生新的epoch。不选举则不会修改epoch。一个leader当选期间,发送的所有消息,都会带有这个epoch。如果由于网络分割等现象,有新的选举发生,则根据epoch就发现leader已经变了。注意,按照paxos论文描述,没有Leader也是可以正常运行的,只是可能降低效率。没有leader则不需要epoch

Ceph的Paxos源码注释之 Election

2017-07-30
阅读 12 分钟
5.2k
Ceph的Paxos实现基本介绍,参见Github的这篇博客本博客分为几个部分,先从简单的开始。这是第一部分,Paxos 的Leader Election。 Leader Election基本设计 按照rank表示优先级解决冲突问题,为每个monitor预先分配了一个rank 只会接受优先级(rank)比自己高、epoch比上次已接受的epoch大的选举请求 当选的leader,不一定...