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

先看一下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开始消费.

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值