【问题标题】:Maximum servers in a ZooKeeper ensemble cluster?ZooKeeper 集成集群中的最大服务器数?
【发布时间】:2013-02-01 17:20:06
【问题描述】:

用例:一个池中有 100 台服务器;我想在每个服务器上启动 ZooKeeper 服务,并且服务器应用程序(ZooKeeper 客户端)将使用 ZooKeeper 集群(读/写)。那么就没有单点故障了。

这个用例是否可行?表现如何?

如果池中有 1000 个服务器怎么办?

【问题讨论】:

    标签: apache-zookeeper


    【解决方案1】:

    如果您只是想避免点故障,那么您只需要 3 台服务器。在 3 个节点的集合中,可以容忍单个故障,其余 2 个节点构成仲裁。您拥有的服务器越多,写入性能就越差。而 100 个服务器就是这个极限,如果 ZK 甚至可以处理的话。

    不过,拥有这么多客户完全没有问题。 Zookeeper 拥有超过 1000 个客户端的活跃部署。如果您发现需要更多服务器来处理读取负载,您可以随时添加Observers。我强烈建议您加入list serve。这是快速回答您的问题的好方法,而且可能比任何人在 SO 上提供的更详细。

    【讨论】:

    • 谢谢贾里德。我的情况有点特别:这个池中的每台服务器都可以随时关闭电源(由于节能策略)。所以理论上我必须在每台Server上启动一个ZooKeeper服务来防止集群宕机。似乎最好的解决方案是从池中运行 ZooKeeper 服务。但该架构并不适合我们的产品。在这里,希望有人能告诉我一个 ZooKeeper ensemble cluster 中的最大 Servers 数量:100 的性能是否可以接受? 1000?
    • @zhigang 我强烈建议您在服务列表中提问(链接在我的帖子中)。你会在那里得到你所寻求的答案。如果 ZK 不支持它,您将获得有关如何实现最终目标的好建议。
    【解决方案2】:

    也许 zookeeper 不是正确的工具?

    Hazelcast 做你想做的事,我想。您可以有数百个对等点,如果主节点丢失,则从所有对等点中选出一个新的。

    您不需要使用所有的榛子石膏。您可以只使用地图,或者只使用工作池,或者只使用同步原语,或者只使用消息传递等。

    【讨论】:

      猜你喜欢
      • 2019-11-08
      • 2021-06-01
      • 1970-01-01
      • 2017-08-10
      • 2013-05-16
      • 1970-01-01
      • 2011-08-28
      • 2015-11-21
      • 2015-01-17
      相关资源
      最近更新 更多