我一直想知道为什么 ZooKeeper 需要集成中的大多数机器才能工作。假设我们有一个非常简单的 3 台机器集合 - A、B、C。
当 A 失败时,会选出新的领导者——很好,一切正常。当另一个人死了,比如说B,服务不可用。是否有意义?为什么机器 C 不能单独处理所有事情,直到 A 和 B 再次启动?
由于一台机器足以完成所有工作(例如单机合奏工作正常)......
ZooKeeper 以这种方式设计有什么特别的原因吗?有没有办法配置 ZooKeeper,例如,当 N 中的至少一个启动时,集成始终可用?
编辑: 也许有一种方法可以应用自定义的领导者选择算法?或者定义法定人数?
提前致谢。