动物园管理员会退还Kafka经纪人DNS吗? (具有领导者分区)

时间:2020-06-27 15:19:31

标签: apache-kafka apache-zookeeper

我是Kafka的新手,我想问一个问题。

如果有3个Kafka经纪人(kafka1,kafka2,kafka3)(它们在同一个Kafka群集中) 和topic = test(replication = 2) kafka1具有领导者分区,kafka2具有跟随者分区。

如果生产者将数据发送到kafka3,那么数据如何存储在kafka1和Kafka2中?

我听说,如果生产者将数据发送到kafka3,则Zookeeper会找到具有领导者分区的代理,并返回代理的dns或IP地址。 然后,生产者将使用元数据重新发送给代理。

对吗?还是错了,请告诉我它是如何工作的。

非常感谢!

1 个答案:

答案 0 :(得分:0)

每个kafka主题分区都有自己的领导者。因此,如果您有2个分区,则kafka将为每个分区分配领导者。它们可能最终是相同的kafka节点,或者可能不同。

当生产者连接到kafka集群时,它将了解分区领导者。所有写入操作都必须经过相应的分区负责人,该负责人负责跟踪同步副本。

所有使用者仅与相应的分区负责人交谈以获取数据。

如果分区领导者出现故障,其中一个副本将成为领导者,并且所有生产者和消费者都会收到有关此更改的通知