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

相关推荐

  1. kafka使用ack提交存在重复消费问题

    2024-01-10 18:18:04       59 阅读
  2. kafka生产者设置ack消费者设置自动提交实例

    2024-01-10 18:18:04       63 阅读
  3. 使用buildozer 打包 apk遇到的问题

    2024-01-10 18:18:04       24 阅读
  4. kafka实践】11|消费位移提交

    2024-01-10 18:18:04       64 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-10 18:18:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-10 18:18:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-10 18:18:04       82 阅读
  4. Python语言-面向对象

    2024-01-10 18:18:04       91 阅读

热门阅读

  1. SpringBoot 注解超全详解(整合超详细版本)

    2024-01-10 18:18:04       36 阅读
  2. Docker 面试题

    2024-01-10 18:18:04       53 阅读
  3. python函数装饰器基础

    2024-01-10 18:18:04       62 阅读
  4. 新发现的社区网站

    2024-01-10 18:18:04       58 阅读
  5. linux 定时清空log 日志

    2024-01-10 18:18:04       64 阅读
  6. 【Python】使用Python调用OpenSSL进行RSA密钥对生成

    2024-01-10 18:18:04       60 阅读
  7. 【Linux】linux下OpenSSL的RSA密钥生成

    2024-01-10 18:18:04       52 阅读