kafka消费出现部分消息丢失

厚德载物 发表于: 2020-03-10   最后更新时间: 2020-03-10  

生产者在生产时,配的回掉显示发送是正常的,但是消费的时候会出现消息丢失的情况。
消费者的是自动提交的,一秒提交一次,并且是多线程的。而且看了消费日志没有出现报错的情况,请问有什么别的原因吗?



您需要解锁本帖隐藏内容请: 点击这里
本帖隐藏的内容




上一条: flink消费不到kafka数据
下一条: Offset commit failed on partition 23-0 at offset 0: The coordinator is not aware of this member. 这个错误是什么问题呢?

  • 1、丢失有规律吗,是只丢最后几条,还是随机的丢。
    2、多线程消费者是在程序运行中动态的创建销毁,还是在程序运行的时候启动然后一直保持。
    3、程序是在生产上跑了多久,还是刚写的程序,只是在进行测试。

    • 1.丢失没有规律,后面的偏移量已经消费到了。
      2.消费程序是程序启动就创建了,每一条数据是多线程执行的。
      3.程序在生产上面跑了很久了。之前也有丢失过,然后直接在poll之后就打印日志,发现还是没有

        • offset的是自动提交,还是手动提交?
          自动提交的话,应该是没问题,需要往生产者排查。
          手动提交offset的话,要注意先提交offset,在将消息丢给业务层处理,要捕获业务层抛上来的异常,如果有业务消费有异常,未捕获,就会导致丢失。

            • 我们这边是自动提交的,在调用poll的方法中,捕捉了全部的异常。生产者的callback日志正常,可以看到消息提交的具体的偏移量和分区。