kafka分区和生产者关系

kafka partition and producer relationship

我有一个 kafka 集群,其中包含三个代理和一个主题,复制因子为三个和三个分区。我可以看到每个代理都有一份大小相同的所有分区的日志副本。这个话题有两个制作人。

有一天我把一位制作人的写作量减少了一半。然后我发现三个代理的入站流量都减少了,这是预期的,但只有分区 1 的领导节点的出流量减少了,我不明白。

分区领导者的出站流量因复制而减少。但是每个broker都是一个partition的leader,为什么只有一个leader的出流量减少了呢?有没有可能生产者只写一个分区的内容?虽然我不这么认为。

请帮我解释一下。集群现在运行良好,但我需要了解它以防出现潜在问题。

假设您正在为 KafkaProducer 使用 Default Partitioner,这意味着具有相同密钥的两个事件保证被发送到同一个分区。

来自 Kafka Documentation

All reads and writes go to the leader of the partition and Followers consume messages from the leader just as a normal Kafka consumer would and apply them to their own log.

您可以通过跳过特定键或一组键来减少数据(来自生产者),这可能意味着特定分区没有数据。

这回答了领导者出站流量减少的原因(没有记录可供追随者消费)