2016-12-28 36 views

回答

3

法定人数是确保你永远不会有不一致的结果。否则,八个节点集群(A B C D E F G H)可能会出现网络故障并被分区为两个集群(A B C D) (E F G H)。这两个集群然后做出两个不相容的决定(比如更新某些配置的相同属性)。当分区被修复时,无法合并这两个更改。

如果需要达到法定人数,那么您知道任何法定人数都至少有一个决策副本;因此任何冲突都会被至少一个节点发现并被禁止。

+0

我明白了你的想法,但我仍然困惑的一件事是领事集群的高可用性。为什么至少需要一定数量的法定人数才能选举新领导人? –

+2

法定人数用于确保只有一个分区的一方可以做出决定(换句话说,选举领导人)。如果集群允许少于法定人数的节点作出决定,那么双方可以做出决定。例如,如果八节点群中的三个节点被允许决定领导者是谁,那么三个选举一个领导者和不同的三个选举另一个可能是可能的。要求法定人数作出领导是谁的决定,可以确保只有一方可以做出决定,因为只有一方可以拥有多数。 – kuujo

+0

很好的答案,非常感谢:D –

相关问题