【发布时间】:2013-04-10 06:11:39
【问题描述】:
我一直想知道为什么 ZooKeeper 需要集成中的大多数机器才能工作。假设我们有一个非常简单的 3 台机器集合 - A、B、C。
当 A 失败时,会选出新的领导者 - 很好,一切正常。当另一个人死了,比如说B,服务不可用。是否有意义?为什么机器 C 不能单独处理所有事情,直到 A 和 B 重新启动?
由于一台机器足以完成所有工作(例如单机合奏工作正常)...
ZooKeeper 以这种方式设计有什么特别的原因吗?有没有办法配置 ZooKeeper,例如,当 N 中的至少一个启动时,ensemble 始终可用?
编辑: 也许有一种方法可以应用自定义的领导者选择算法?还是定义法定人数?
提前致谢。
【问题讨论】:
-
你找到改变当前领导者选择算法的方法了吗?我还发现为 3 台机器支付 20 万美元有点令人沮丧,这些机器本应消除单点故障的风险,发现自己基本上处于相同的位置......
-
@dcg 不,我什至没有尝试找到解决方法,因为在阅读了我的问题的答案后,我理解了 ZooKeeper 的方法,这似乎很合乎逻辑。
标签: apache-zookeeper