kafka消费者设置成自动提交offset时,如果不提交,会造成什么问题呢?有影响吗?

独爱一篇文 发表于: 2018-02-06   最后更新时间: 2021-09-06 19:33:52   11,688 游览

kafka消费者设置成自动提交offset时,如果不提交,会造成什么问题呢?有影响吗?

发表于 2018-02-06
添加评论

如果不提交,消息会重复消费的。

大神,有个问题,我把enable-auto-commit设置为false了。producer里面send消息,consumer是用了 @KafkaListener自动监听,有消息就消费,打印出来消息。auto-offset-reset设置为了earliest,也就是如果没有消息就从0开始消费。我先是send了几条消息,consumer监听到,消费了消息,控制台打印出来。然后我重启springboot,这个时候,消费者应该是从0开始消费,把我刚才send进去的消息再打印出来一遍,也就是重复消费才对,但是事实是控制台并没有打印之前的,没有重复消费,我这个时候send新的一条,也只是消费打印了新的一条消息。消息过期时间也是默认的7天,所以很迷惑,求大神指点下。

怀疑你的enable-auto-commit没生效。

另外,earliest,生效都有一个前提条件,那就是对于同一个groupid的消费者,如果这个topic某个分区有已经提交的offset。那么无论是把auto.offset.reset=earliest还是latest,都是失效的,消费者会从已经提交的offset开始消费。

https://www.orchome.com/535

多谢大神指点

你的答案

查看kafka相关的其他问题或提一个您自己的问题