Mahesh Balakrishnan, Jason Flinn, Chen Shen, Mihir Dharamshi, Ahmed Jafri, Xiao Shi, Santosh Ghosh, Hazem Hassan, Aaryaman Sagar, Rhed Shi, Jingming Liu, Filip Gruszczynski, Xianan Zhang, Huy Hoang, Ahmed Yossef, Francois Richard, and Yee Jiun Song. 2020. Virtual consensus in delos. In Proceedings of the 14th USENIX Conference on Operating Systems Design and Implementation . USENIX Association, USA, Article 35, 617–632.
RAFT协议中的节点在任一时刻处于以下三个状态(状态)之一:leader, follower 和 candidate。leader:接受客户端请求,并向follower同步请求日志,当日志同步到大多数节点上后告诉follower提交日志。
Raft声称是一种易于理解的分布式一致性算法。有不少工程师们翻了它的论文,参考了很多资料,最后只好怀疑自己是不是智商有问题。Raft一直以来是很多高级资深程序员技术上的天花板,捅破相当有难度。每次刚刚拿起时汹涌澎湃,过不了多久便偃旗息鼓了,有一种丧尸般的难受。
Raft 是 Diego Ongaro 在 Stanford 念博时的博士论文,在 2013 年与他的指导教授 John Ousterhout 一同撰写《 In Search of an Understandable Consensus Algorithm 》,并在 2014 年的 USENIX Annual Technical Conference 上获得 Best Paper Award。
在分布式的世界里,要说最核心最复杂的功能,一致性地实现无出其右,之前的paxos算法堪称经典,被认为是同类算法中效果最好的,基本上成为分布式一致性的代名词,但是paxos算法也是出了名的难理解,而且相当不好实现。