我并不是在寻找API来完成这个,而是想了解内部实现细节。
我知道Kafka的最新版本将消费者组的偏移量存储在一个特殊的Kafka主题__consumer_offset中。
我的问题是:
在这个主题中驻留的数据结构究竟是什么?
当消费者组死亡并重新启动时,Kafka如何查找消费者组上次消费的Topic-Partitions的偏移量?
据我的理解,Kafka主题并不适合查找数据:例如查询语句:
Select *offset* from __consumer_offset where consumer-group-name=*consumer-group* and topic=*topic-1*
基本上,我想了解__consumer_offset或用于消费者偏移量管理的任何内容的内部详细信息。
我阅读了这个维基页面 https://cwiki.apache.org/confluence/display/KAFKA/Offset+Management,但无法理解其中关于内存数据结构的部分。