我有一个kafka集群,有三个代理和一个主题,复制因子为三个和三个分区。我可以看到每个代理都有一个具有相同大小的所有分区的日志副本。这个主题有两个生产者。
有一天,我将一位制片人的写作量减少了一半。然后我发现所有三个经纪人'入站流量减少了预期,但只有分区1的领导节点减少了流量,我不明白。
由于复制,分区负责人的出站流量减少了。但是每个经纪人都是一个分区的领导者,为什么只有一个领导者的出站流量减少了?生产者是否可能只将内容写入一个分区?虽然我不这么认为。
答案 0 :(得分:1)
假设您正在为KafkaProducer使用默认分区程序,这意味着保证将具有相同密钥的两个事件发送到同一分区。
所有读取和写入都发送给分区和关注者的领导者 像正常的Kafka消费者那样消费来自领导者的消息 并将它们应用到自己的日志中。
您可以通过滑动特定键或一组键来减少数据(来自生产者),这可能意味着没有数据到特定分区。
这解释了为什么领导者的出站流量减少了(没有关注者的记录)