Zookeeper 为什么在多节点Zookeper集成中只允许n台故障服务器?

t8e9dugd  于 2022-12-09  发布在  Apache
关注(0)|答案(1)|浏览(83)

我正在阅读Apache Kafka的理论,并且发现了Zookeeper仲裁配额。我想知道为什么只有n个失败的服务器被允许保持仲裁?如果我们使用5个服务器,那么为什么不允许3个服务器失败而仍然不让Zookeeper失败呢?我们这里只剩下2个服务器了。如果我们使用3台服务器配置并允许其中一台发生故障,那么奇数规则不就失效了吗?还是说这个奇数规则是针对一般情况的,我们在两者中随机选择一个输出,以防冲突?

r3i60tvu

r3i60tvu1#

Zookeeper不会因为一个偶数而“倒下”。它只会被混淆,因为在剩下的服务器中无法达到法定人数,即(N+1)/ 2个服务器的多数规则。例如,如果有3个代理,则需要2个 * 一致 *(不是总共两个,相互提供不同的信息)才能达到法定人数,如果有5个,则需要3个

相关问题