1

我花了一点时间研究 Consul。我读过共识协议。我看到如果 Consul 集群想要可用,它需要一个法定人数的服务器节点来选举领导者。我想知道当领事集群运行的节点少于法定人数时,为什么它不使用剩余的运行节点呢?任何人都可以为我回答吗?太感谢了

4

1 回答 1

5

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

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

于 2016-12-28T06:58:30.567 回答