首页 文章

如果有多个领导者,Raft算法如何保证共识?

提问于
浏览
8

正如论文所说:

选举安全:在一个特定的任期内,最多只能选出一名领导人 . §5.2

但是,系统中可能有多个领导者 . 筏只能承诺在给定的期限内只有一个领导者 . 所以如果我有多个客户端,我不会得到不同的数据吗?这如何让Raft成为一致的算法?

有什么我不明白的,有人可以解释一下吗?

2 回答

  • 4

    只有拥有多数选票的候选节点才能领先 . 只有一个多数存在于群集中,另一个节点在没有联系至少一个已经投票给另一个领导者的节点的情况下无法从大多数人那里听到 . 听到另一位领导人的候选人将辞职 . 这是一个很好的动画,显示它是如何发生的:http://thesecretlivesofdata.com/raft/#election

  • 0

    群集中的每台计算机都将其当前术语与其收到的术语以及从其他计算机获得的所有请求进行比较 . 并且每当"leader"尝试充当领导者时,它将不会从群集的其余部分获得多数接受,因为大多数机器具有更大的术语,然后是"leader" . 这保证只有真正的领导者才能回复客户的请求 .
    此外,根据Raft的说法,这个"leader"会在收到更长期的拒绝后立即成为追随者 .

相关问题