【发布时间】:2019-01-04 13:33:36
【问题描述】:
我们将 Kafka 用作严格排序的队列,因此使用了 single topic/single partition/single consumer group 组合。我以后应该可以使用多个分区了。
我的消费者是spring-boot 应用侦听器,它从同一个主题产生和消费。所以消费者群体是固定的,永远只有一个消费者。
Kafka version 0.10.1.1
在这种情况下,topic-0 和一些__consumer_offsets_XX 的日志文件会增长。事实上__consumer_offsets_XX 增长得非常高,即使它应该每 60 分钟定期清除一次(默认情况下)。消费者并非一直在阅读,但它有auto.commit.enabled=true
默认log.retention.minutes(默认7天)>offset.retention.minutes(默认1天);但就我而言,因为我的消费者群体/消费者是固定的和单一的;一旦消息被使用,将消息保存在topic-0 中可能没有任何意义。我可以让log.retention.minutes 缩短 3 天(比如说)吗?
我可以将offset.retention.minutes 调低,以便能够控制__consumer_offsets_XX 不断增长的大小,而无需触摸auto.commit 设置吗?
【问题讨论】:
-
每当 Kafka 收到一条消息时,它都会增加偏移量,即使数据过期(即保留时间),该偏移量也不会减少。 data 和 offset_value 不是同义词。
标签: apache-kafka kafka-consumer-api spring-kafka