在kafka中拥有比#broker更多的#replicas有意义吗?

Does it make sense to have more #replicas than #broker in kafka?

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

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

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

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

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