kafka auto.offset.reset值失效 earliest/latest详解

  • Post author:
  • Post category:其他


先看一下kafka官网对于auto.offset.reset=earliest/latest的详解

earliest: automatically reset the offset to the earliest offset,翻译过来就是自动将偏移量置为最早的

latest:automatically reset the offset to the latest offset 自动将偏移量设置为最新的

可能大部分朋友都觉得在任何情况下把这两个值设置为earliest或者latest ,消费者就可以从最早或者最新的offset开始消费,但在实际上测试的时候发现并不是那么回事,因为他们生效都有一个前提条件,那就是对于同一个groupid的消费者,如果这个topic某个分区有已经提交的offset,那么无论是把auto.offset.reset=earliest还是latest,都将失效,消费者会从已经提交的offset开始消费.

earliest

当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,从头开始消费

latest

当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,消费新产生的该分区下的数据

如果想测试的话,可以把kafka的enable.offset.commit设置为false,让kafka的自动提交功能关闭,这时候对于某个topic就没有已经提交的offset了,对于同一个groupid来说,不管是earliest还是latest,consumer都可以从最早或者最新的offset开始消费.



版权声明:本文为qq_40625030原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。