![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/e02e800c2ceae1cb6d56a8904f33de31.jpeg)
1.概述
offset即消费消息的偏移值,记录了kafka每个consumergroup的下一个需要读取消费位置,保障其消息的消费可靠性。
2.旧版本offset保存
kafka0.8.1.1以前
,offset保存在zk中,存放在/consumers节点下。但是由于频繁访问zk,zk需要一个一个节点更新offset,不能批量或分组更新,导致offset更新成了瓶颈。后续两个过渡版本增加了参数“offsets.storage”
,该参数可配置为“zookeeper”或“kafka”
分别表示offset的保持位置在zk或是broker,默认保留在zk,
0.9版本以后offset就默认保存在broker下
。若配置的“kafka”,当设置了“dual.commit.enabled
”参数时,offset仍然可以提交到zk
。
zk中保存offset结构为:
/consumers/[group_i