说明
由于 consumer 在消费过程中可能会出现断电宕机等故障,consumer 恢复后,需要从故障前的位置的继续消费,所以 consumer 需要实时记录自己消费到了哪个 offset,以便故障恢复后继续消费
Kafka 0.9 版本之前,consumer 默认将 offset 保存在 Zookeeper 中
从 0.9 版本开始,consumer 默认将 offset 保存在 Kafka 一个内置的 topic 中,该 topic 为
__consumer_offsets。
offset
offset ,偏移量,也称之为 位移
每条消息都有唯一的 offset,用来表示消息在分区中的位置
提交
消费者调用 poll() 拉取消息时,返回消息,但 kafka服务 不会处理 offset,而是提供 api,让 消费者 来管理,更新当前的位置,这种就叫 提交偏移量 或 提交位移
提交方式
- 自动提交
- 手动提交
- 同步提交
- 异步提交
