【问题标题】:Does it make sense to have more #replicas than #broker in kafka?在kafka中拥有比#broker更多的#replicas有意义吗?
【发布时间】:2015-11-01 18:39:56
【问题描述】:

我打算使用 kafka 作为消息传递系统。在我的脑海中仍然缺少以下几点。

  1. 我可以在一台机器上拥有多少个代理?
  2. 在 kafka 中拥有比 #broker 更多的 #replicas(分区复制)是否有意义?
  3. 是否可以在不关闭/重新启动当前服务的情况下添加额外的 zookeeper 服务器(在其他机器上)以进行扩展?

【问题讨论】:

    标签: apache-kafka apache-zookeeper


    【解决方案1】:

    可以在每台机器上拥有多个代理,但通常没有任何充分的理由拥有多个。

    我想不出一个很好的理由来指定比 #brokers 更多的 #replicas。

    您的 Zookeeper 服务器最好位于不同的机器上,并且是奇数个节点。这里需要在写入延迟和弹性之间进行权衡。 3 Zookeeper 在写入延迟非常重要的情况下很常见。可以使用 5 个甚至 7 个节点来提高弹性。

    【讨论】:

    • 补充(2):当 #replicas > #brokers 时,您实际上会遇到问题,因为 Kafka 将始终认为其分区复制不足(根据您的先前假设),这基本上使Kafka 认为“存在严重的数据丢失风险,请帮我解决这个问题!” (也就是说,您的 Kafka 集群随后进入了相当于黄色 WARN 状态)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-20
    • 1970-01-01
    相关资源
    最近更新 更多