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 是没有区别的。