Apache zookeeper 一个卡夫卡经纪人连接到多个动物园管理员

Apache zookeeper 一个卡夫卡经纪人连接到多个动物园管理员,apache-zookeeper,apache-kafka,Apache Zookeeper,Apache Kafka,我对卡夫卡、动物园管理员和暴风雪还不熟悉。 在我们的环境中,我们有一个卡夫卡经纪人连接到多个动物园管理员。让制作人将消息发送到一个代理上的特定主题和分区给多个动物园管理员,与让多个代理给多个动物园管理员相比,是否有优势?是的。卡夫卡允许您通过添加代理进行扩展。当您将Kafka集群与单个代理一起使用时,所有分区都驻留在该单个代理上。但是当您有多个代理时,Kafka将在它们之间分割分区。因此,代理A可能被选为主题的分区1和2的负责人,代理B可能被选为分区3的负责人。因此,当您将消息发布到主题时,客户

我对卡夫卡、动物园管理员和暴风雪还不熟悉。
在我们的环境中,我们有一个卡夫卡经纪人连接到多个动物园管理员。让制作人将消息发送到一个代理上的特定主题和分区给多个动物园管理员,与让多个代理给多个动物园管理员相比,是否有优势?

是的。卡夫卡允许您通过添加代理进行扩展。当您将Kafka集群与单个代理一起使用时,所有分区都驻留在该单个代理上。但是当您有多个代理时,Kafka将在它们之间分割分区。因此,代理
A
可能被选为主题的分区
1
2
的负责人,代理
B
可能被选为分区
3
的负责人。因此,当您将消息发布到主题时,客户端将在两个代理上的不同分区之间分割消息

请注意,我还提到了领导人选举。将代理添加到Kafka群集可以实现复制。正如我在示例中提到的,Kafka使用ZooKeeper为每个分区选择一个领导者。一旦选择了一个领导者,客户机就会在分区之间分割消息,并将每条消息发送给相应分区的领导者。根据主题配置,领导者可以将消息同步复制到备份。因此,在我的示例中,如果主题的复制因子是
2
,那么代理
A
将同步地将分区
1
2
的消息复制到代理
B
,代理
B
将分区
3
的消息同步复制到代理
A


所以,这就是说,添加代理可以同时提供可伸缩性和容错性。

是的。卡夫卡允许您通过添加代理进行扩展。当您将Kafka集群与单个代理一起使用时,所有分区都驻留在该单个代理上。但是当您有多个代理时,Kafka将在它们之间分割分区。因此,代理
A
可能被选为主题的分区
1
2
的负责人,代理
B
可能被选为分区
3
的负责人。因此,当您将消息发布到主题时,客户端将在两个代理上的不同分区之间分割消息

请注意,我还提到了领导人选举。将代理添加到Kafka群集可以实现复制。正如我在示例中提到的,Kafka使用ZooKeeper为每个分区选择一个领导者。一旦选择了一个领导者,客户机就会在分区之间分割消息,并将每条消息发送给相应分区的领导者。根据主题配置,领导者可以将消息同步复制到备份。因此,在我的示例中,如果主题的复制因子是
2
,那么代理
A
将同步地将分区
1
2
的消息复制到代理
B
,代理
B
将分区
3
的消息同步复制到代理
A

所以,这就意味着添加代理可以同时提供可伸缩性和容错性