算法论文:http://hexiaoqiao-wordpress.stor.sinaapp.com/uploads/2015/10/raft.pdf
Raft
是工程上使用较为广泛的 最终一致性、去中心化、高可用 的分布式协议。
Raft
是一个 共识算法。
Raft
增强了可理解性,但是在性能、可靠性、可用性方面不输于Paxos
算法。
Raft
算法为了保证高可用,并不是强一致性,而是最终一致性。
Raft
会选举出一个leader
,leader
负责接收所有客户端的更新请求,并负责日志复制的管理工作。leader
通过定期向所有follower
发送心跳信息维持其统治,如果leader
发生故障,所有follower
会重新选举出一个新的leader
。
涉及两个问题:leader
选举、日志复制
leader选举
在Raft
协议中,一个节点在任意时刻只会是下面三种状态之一:
follower