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 方法的逻辑是先提交上一批消息的位移,再处理下一批消息,提交顺序问题导致重复消费

相关推荐
无名-CODING17 小时前
分布式锁实战演练:跨越 JVM 的并发掌控者
jvm·分布式
standovon18 小时前
RabbitMQ 的介绍与使用
分布式·rabbitmq·ruby
2301_7679026419 小时前
ceph分布式存储(一)
分布式·ceph
2301_7679026419 小时前
ceph分布式存储(二)
分布式·ceph
狼与自由19 小时前
Redis 分布式锁
数据库·redis·分布式
1104.北光c°1 天前
基于Canal + Kafka的高可用关注系统:一主多从关系链
java·开发语言·笔记·分布式·程序人生·kafka·一主多从
sjmaysee1 天前
Spring Boot集成Kafka:最佳实践与详细指南
spring boot·kafka·linq
蜜獾云1 天前
Kafka(1)-Kafka基本术语
分布式·kafka
珠海西格1 天前
1MW光伏项目“四可”装置数据采集类设备具体配置详解
服务器·网络·人工智能·分布式·安全