by Julian Hochgesang on Unsplash Raft 可能大家对其还有点陌生,但我相信大家都知道 Paxos。但 Paxos 很被理解,反正我现在也不懂。两位研究者也提到,他们也花了很长的时间来理解 Paxos,他们也觉得很难理解,于是研究出了 Raft 算法。 Raft 是工程上使用较为广泛的强一致性、去中心化、高可用的分布式协议。接下来,我就带大家轻松了解 Raft 核心世界。 Leader 选举过程
当启动集群 A、B、C 三个节点时,三个节点都处于 Follower 状态中,在心跳超时时间内没有收到 Leader 节点的信息,某一个节点优先转入 Candidate 状态,并发起一个投票请求,这里假设是 A 节点,A 在发起投票请求之前会先投一票给自己,如果 B 和 C 在收到请求的时候,还处于 election time out ,会直接投给 A ,A 就成为了 Leader 节点,并通知其他节点自己当选,并维护心跳。 以上是比较理想情况下的选举过程,我们先提炼一下关键信息: