kafka中,使用ack提交时,存在重复消费问题

ack提交时,存在重复消费??

往consumer监听的topic中,增加了一条数据,但是代码消费了好几次,而且确实也走ack.acknowledge();这块逻辑了,因为处理的逻辑是要入库的,导致数据多了好几条,后排查得知是配置问题

...

spring.kafka.consumer.enable-auto-commit=true

spring.kafka.consumer.auto-offset-reset=latest

代码是刚拿到手,没有注意这块配置问题,因为上述配置导致重复消费,改成下面这种就可以了

...

spring.kafka.consumer.enable-auto-commit=false

spring.kafka.consumer.auto-offset-reset=latest

原因:一旦设置了 enable.auto.commit 为 true,Kafka 会保证在开始调用 poll 方法时,提交上次 poll 返回的所有消息。从顺序上来说,poll 方法的逻辑是先提交上一批消息的位移,再处理下一批消息,提交顺序问题导致重复消费

相关推荐
xiao-xiang5 分钟前
kafka-集群缩容
分布式·kafka
比花花解语8 分钟前
Kafka在Windows系统使用delete命令删除Topic时出现的问题
windows·分布式·kafka
解决方案工程师9 分钟前
【Kafka】Kafka高性能解读
分布式·kafka
yellowatumn12 分钟前
RocketMq\Kafka如何保障消息不丢失?
分布式·kafka·rocketmq
python资深爱好者33 分钟前
什么容错性以及Spark Streaming如何保证容错性
大数据·分布式·spark
HeartRaindj2 小时前
【中间件开发】kafka使用场景与设计原理
分布式·中间件·kafka
明达技术3 小时前
探索分布式 IO 模块网络适配器
分布式
Ray.19983 小时前
优化 Flink 消费 Kafka 数据的速度:实战指南
大数据·flink·kafka
爬山算法4 小时前
Zookeeper(58)如何在Zookeeper中实现分布式锁?
分布式·zookeeper·云原生
明达技术7 小时前
分布式 IO 模块:造纸设备的降本增效利器
分布式