2020-08-16

kafka的auto.offset.reset这个参数详解

当设置了这个参数之后不一定会生效,它生效有以下两种情况:
1)当消费者组第一次消费的时候,会生效
2)当当前保存的offset对应的数据不存在的时候会生效(比如,broker保持的当前offset是100,但是log文件里面offset为100的数据已经过了默认保存的7天,对应的数据被删除了,那么这个参数也会生效)

这个参数有两个取值,一个是latest,一个是earliest,默认是latest。

举个例子,我们在控制台上开启一个消费者的时候,默认是新启动一个消费者组,所以这个参数是生效的,如果不加 --from-beginning这个参数,那么这个参数的值是latest,也就是之前生产者网broker发送的消息,我们启动的这个控制台消费者消费不到了,只能消费到后来的数据。如果我们在命令行里加了 --from-beginning 这个参数,那么就相当于把autuo.offset.reset这个参数的值设置为earliest,也就是从头消费。

为什么这个参数的其中一个取值是earliest,而不是0,因为earliest不一定等于0,加入0对应的消息已经过期被删除掉了,如果是从0开始消费,那么就会消费不到了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值