动画演示:
论文:
https://raft.github.io/raft.pdf Extended Version
https://web.stanford.edu/~ouster/cgi-bin/papers/OngaroPhD.pdf 《CONSENSUS: BRIDGING THEORY AND PRACTICE》
Abstract
Raft is a consensus algorithm for managing a replicated
log. It produces a result equivalent to (multi-)Paxos, and
it is as efficient as Paxos, but its structure is different
from Paxos;
Raft是一个管理复制副本的一致性算法。相当于是一个(Multi)Paxos的产物,并且和Paxos一样高效,但是结构和Paxos不同;
this makes Raft more understandable than Paxos and also provides a better foundation for building practical systems. In order to enhance understandability, Raft separates the key elements of consensus, such as leader election, log replication, and safety, and it enforces
a stronger degree of coherency to reduce the number of states that must be considered.
Raft比Paxos更易于理解,也可以更好的构建实用的系统。为了增强可理解性,Raft分离了“共识"的关键要素,如leader,选举,日志复制,安全性。加强了一致性,以减少需要考虑的state数量。
Results from a user study demonstrate that Raft is easier for students to learn than Paxos.
研究表名Raft比Paxos更容易学习。
Raft also includes a new mechanism for changing the cluster membership, which uses overlapping majorities to guarantee safety.
Raft 还包括一个用于变更集群成员的新机制,它使用重叠的大多数(overlapping majorities)来保证安全性。
复制状态机问题(第2节),
讨论了Paxos的优缺点(第3节),
描述了我们的可理解性一般方法(第4节),
介绍了Raft共识算法(第5-8节),
并对其进行了评估(第9节)
讨论相关工作(第10节)。