我是Kafka的新手,我想问一个问题。
如果有3个Kafka经纪人(kafka1,kafka2,kafka3)(它们在同一个Kafka群集中) 和topic = test(replication = 2) kafka1具有领导者分区,kafka2具有跟随者分区。
如果生产者将数据发送到kafka3,那么数据如何存储在kafka1和Kafka2中?
我听说,如果生产者将数据发送到kafka3,则Zookeeper会找到具有领导者分区的代理,并返回代理的dns或IP地址。 然后,生产者将使用元数据重新发送给代理。
对吗?还是错了,请告诉我它是如何工作的。
非常感谢!
答案 0 :(得分:0)
每个kafka主题分区都有自己的领导者。因此,如果您有2个分区,则kafka将为每个分区分配领导者。它们可能最终是相同的kafka节点,或者可能不同。
当生产者连接到kafka集群时,它将了解分区领导者。所有写入操作都必须经过相应的分区负责人,该负责人负责跟踪同步副本。
所有使用者仅与相应的分区负责人交谈以获取数据。
如果分区领导者出现故障,其中一个副本将成为领导者,并且所有生产者和消费者都会收到有关此更改的通知