在kafka 0.9 版本之后关于consumer及consumer group,位移的管理与保存机制发生了很大的变化,此后版本的consumer默认将不再保存位移到zookeeper中,而是__consumer_offsets这个topic中.zookeeper其实并不适合进行大批量的读写操作,尤其是写操作.增加__consumeroffsets topic,将offset信息写入这个topic,摆脱对zookeeper的依赖(指保存offset这件事情).__consumer_offsets中的消息保存了每个consumer group某一时刻提交的offset信息.
参考博客:
https://blog.csdn.net/qq_36096641/article/details/81583268
因为__consumer_offsets 是一个topic,kafka将consumer的消费信息push到该topic.所以我们也可以创建一个消费者去消费__consumer_offsets这个topic.
kafka在自动创建__consumer_offsets这个topic的时候默认是50个分区,1个副本.所以可能会发生单点故障.为了防止这种灾难发生,建议增加该topic的副本数.
参考博客:
https://www.cnblogs.com/jun1019/p/6634545.html