Kafka:消费者的offset

发布时间 2023-11-02 17:47:43作者: eiSouthBoy

auto.offset.reset

  • latest(默认)

已有一个消费者groupId=ClientConsumer,消费消息到最新位置,然后停止消费。

启动生产者生产一定数量消息,然后停止生产。

接着启动消费者,设置 auto.offset.reset=latest

结果:消费者从上次消费位置接着开始消费


若重复上述步骤,仅修改 groupId=ClientConsumer-new
realtime-topic主题有新消息生产:

启动消费者

结果:尽管主题消息有新增,但新消费者却不消费历史消息,而是等待生产者新的消息到来

  • earliest

已有一个消费者groupID=ClientConsumer,消费消息到最新位置,然后停止消费。

启动生产者生产一定数量消息,然后停止生产。

接着启动消费者,设置 auto.offset.reset=earliest

结果:消费者从上次消费位置接着开始消费

总结

对于同一个消费者groupId,若已经对消费过消息并提交过offset,那么设置 earlieset or latest 是没有区别的。