一个Kafka经纪人连接到多个Zookeeper

rwqw0loc  于 2021-06-08  发布在  Kafka
关注(0)|答案(1)|浏览(287)

我是Kafka的新手,Zookeeper和风暴。我知道我们的环境我们有一个Kafka经纪人连接到多个Zookeeper。让生产者将消息发送到一个代理上的特定主题和分区到多个zookeers与多个代理到多个zookeers有什么优势?

jjjwad0x

jjjwad0x1#

是的,有。kafka允许您通过添加代理进行扩展。当您将kafka集群与单个代理一起使用时,所有分区都驻留在该单个代理上。但是当你有多个经纪人时,Kafka会在他们之间分割分区。那么,经纪人 A 可能被选为分区领导 1 以及 2 你的主题,和经纪人 B 分区负责人 3 . 因此,当您将消息发布到主题时,客户机将在两个代理上的不同分区之间分割消息。
注意,我还提到了领导人选举。向kafka集群添加代理可以实现复制。kafka使用zookeeper为每个分区选举一个领导者,正如我在示例中提到的。一旦选择了一个引导者,客户机就会在分区之间分割消息,并将每条消息发送给相应分区的引导者。根据主题配置,领导者可以同步地将消息复制到备份。在我的例子中,如果主题的复制因子是 2 然后是经纪人 A 将同步复制分区的消息 1 以及 2 经纪人 B 经纪人 B 将同步复制分区的消息 3 经纪人 A .
所以,这就是说添加代理可以同时提供可伸缩性和容错性。

相关问题