Consul.IO - 为什么 Consul 集群至少需要一定数量的服务器节点才能处于活动状态

Consul.IO - Why does Consul Cluster need at least a quorum of server nodes to be active

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

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

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