kafka分区和生产者关系

dojqjjoe  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(382)

我有一个kafka集群,它有三个代理和一个主题,其中复制因子是三个和三个分区。我可以看到每个代理都有一个相同大小的所有分区的日志副本。这个主题有两个制作人。
有一天,我把一个制片人的写作量减少了一半。然后我发现三个代理的入站流量都减少了,这是预期的,但是只有分区1的leader节点的出站流量减少了,这我不明白。
分区领导的出站流量由于复制而减少。但是每个代理都是一个分区的领导者,为什么只有一个领导者的出站流量减少了呢?生产者是否可能只将内容写入一个分区?但我不这么认为。
请帮我解释一下。集群现在运行良好,但我需要了解它以防潜在的问题。

e0bqpujr

e0bqpujr1#

假设您使用的是kafkaproducer的默认分区器,这意味着两个具有相同密钥的事件将被保证发送到相同的分区。
Kafka文献
所有的读写操作都会传递给分区的领导者,追随者会像普通的kafka消费者一样使用来自领导者的消息,并将它们应用到自己的日志中。
您可以通过跳过特定键或一组键来减少(来自生产者的)数据,这可能意味着没有数据到特定分区。
这就解释了为什么leader的出站流量减少了(没有记录供follower使用)

相关问题