设置 myTopic
有一个 single partition
. consumer_group
是我的 spring-boot
应用程序使用 spring-kafka
总有一个 single consumer
对于那个消费群体。 spring-kafka version 1.1.8 RELEASE
我有一个 single broker node
在 kafka
. Kafka version 0.10.1.1
当我询问一个特定的 consumer_group
使用 burrow
,我看到同一主题的15个偏移条目。
观察
curl http://burrow-node:8000/v3/kafka/mykafka-1/consumer/my_consumer_grp
"myTopic":[
{"offsets":[
{"offset":6671,"timestamp":1533099130556,"lag":0},
{"offset":6671,"timestamp":1533099135556,"lag":0},
{"offset":6671,"timestamp":1533099140558,"lag":0},
{"offset":6671,"timestamp":1533099145558,"lag":0},
{"offset":6671,"timestamp":1533099150557,"lag":0},
{"offset":6671,"timestamp":1533099155558,"lag":0},
{"offset":6671,"timestamp":1533099160561,"lag":0},
{"offset":6671,"timestamp":1533099165559,"lag":0},
{"offset":6671,"timestamp":1533099170560,"lag":0},
{"offset":6671,"timestamp":1533099175561,"lag":0},
{"offset":6671,"timestamp":1533099180562,"lag":0},
{"offset":6671,"timestamp":1533099185562,"lag":0},
{"offset":6671,"timestamp":1533099190563,"lag":0},
{"offset":6671,"timestamp":1533099195562,"lag":0},
{"offset":6671,"timestamp":1533099200564,"lag":0}
]
更多观察
当我重新启动应用程序时,我没有发现要创建的新偏移条目,只是时间戳一直在更新;可能是因为 auto.commit.interval.ms
;
当我开始生产/消费时;我看到了偏移量的变化和其中一个偏移量的滞后;后来,其他的抵消赶上了;这让我觉得那些是复制品; offset.retention.minutes
是默认值 1440
问题
为什么我们有15个抵销分录 burrow
报告?
如果它们是副本,为什么单个分区主题会被分成14个不同的副本 __consumer_offsets
? 有这方面的文件吗?
如果不是复制品,还有什么?
1条答案
按热度按时间zzzyeukh1#
这是我的理解,基于文件。burrow存储可配置数量的提交偏移量。这是一扇摇窗。每次使用者提交时,burrow都会存储提交的偏移量和提交时的延迟。您看到的很可能是应用了如下存储配置(从burrow.iml中挑选)的结果:
请注意,间隔设置为15。我相信这个特性只是提供了一些消费组提交和相关延迟的历史记录,而与副本无关。
编辑:
burrow wiki上的消费者滞后评估规则页面更详细地解释了此功能。简而言之,这个可配置的偏移/滞后数据窗口用于计算消费群体状态。