Raft 是 Diego Ongaro 在 Stanford 念博时的博士论文,在 2013 年与他的指导教授 John Ousterhout 一同撰写《 In Search of an Understandable Consensus Algorithm 》,并在 2014 年的 USENIX Annual Technical Conference 上获得 Best Paper Award。
作者: 京东物流 郭益如导读在分布式系统中, 什么是拜占庭将军问题?产生的场景和解决方案是什么?什么是 Raft 共识算法?Raft 算法是如何解决拜占庭将军问题的?其核心原理和算法逻辑是什么?除了 Raft,还有哪些共识算法?
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.
⑨ 两个节点 Partition 的 Leader 自动降级为 Follower,因为这个 Partition 的数据 “bob” 没有 Commit,返回给客户端的是错误,客户端知道请求没有成功,所以 Follower 在收到 AppendEntries 请求时,可以把 “bob“ 删除,然后同步 ”tom”,通过这么一个过程,就完成了在 Network Partition 情况下的复制日志,保证了数据的一致性。
在中国,我们现在有下面两种方案可以选择:OceanBase 已经蝉联 TPC-C 数年的全球冠军了,每分钟可以处理 7.07 亿个订单,每秒订单数都已经过千万了,更不要说 QPS 500 万了,所以,如果你用 OceanBase,你的百万 QPS 的高并发系统已经搭建完成了!
在分布式的世界里,要说最核心最复杂的功能,一致性地实现无出其右,之前的paxos算法堪称经典,被认为是同类算法中效果最好的,基本上成为分布式一致性的代名词,但是paxos算法也是出了名的难理解,而且相当不好实现。