qq_42584264 2022-11-05 14:48 采纳率: 50%
浏览 112

Springboot集成kafka,程序重启后,如何配置能够让消费者消费新产生的数据,达到实时处理效果

问题遇到的现象和发生背景

Springboot集成kafka,当程序重启后,消费者从历史没有消费的数据开始消费,如何配置能够让消费者消费实时数据,将历史未消费数据丢弃?

我的解答思路和尝试过的方法

kafka配置如下:

img

使用上面 auto-offset-reset: latest 配置 无法实现此效果,未能解决。

我想要达到的结果

springboot程序重启后,kafka能够从最新产生的数据开始消费,达到实时处理的效果。

  • 写回答

1条回答 默认 最新

  • 三千烦恼丝xzh 2022-11-05 15:22
    关注

    Kafka客户端重连会取zookeeper里上一次提交的偏移量然后从偏移量消费,这部分逻辑是封装在Apache Kafka client的包里面和spring无关,如果你需要每次都从最新的偏移量消费可以定制消费者逻辑,即自己适配Kafka client逻辑然后提供给spring上层。
    当然从结果来看最简单的办法是使用动态不重复的group ID,这样每次启动Kafka client在zookeeper找不到偏移量就会应用auto-offset-reset策略,如果是latest就会从最新的偏移量开始消费。

    评论

报告相同问题?

问题事件

  • 创建了问题 11月5日

悬赏问题

  • ¥15 DB2的REPLACE函数报错求解
  • ¥30 C++上传文件到SFTP
  • ¥20 组态王 海康Vision Master
  • ¥15 思科WS-C4503-E核心交机
  • ¥15 批量提取WORD信息到EXCEL
  • ¥15 git后台提示“指定的网络不可用”如何处理?
  • ¥15 Omi框架如何兼容Vue
  • ¥15 windows api中有没有可以通过scsi设备发送离散buffer的接口,如何解决?(相关搜索:linux系统|结构体)
  • ¥15 r语言练习题,三个问题都有疑惑
  • ¥15 绝对路径都行,为什么相对路径不行