kafka消费出现部分消息丢失

厚德载物 发表于: 2020-03-10   最后更新时间: 2020-03-10 13:27:54   2,579 游览

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

发表于 2020-03-10
添加评论

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

厚德载物 -> 半兽人 4年前

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

半兽人 -> 厚德载物 4年前

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

半兽人 -> 厚德载物 4年前

错了,自动提交和手动都要关注,消息丢给业务之后,是否捕获业务抛上来的异常。如果异常没有捕获,就会导致消息丢失。

厚德载物 -> 半兽人 4年前

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

厚德载物 -> 半兽人 4年前

问题查下来是有两个分区的消息堆积了,看丢失消息的时候,特意看了分区和位移,还是经验不足啊。

半兽人 -> 厚德载物 4年前

这...太粗糙了

carpediem -> 厚德载物 4年前

能详细描述下原因吗?我也遇到了这个问题

厚德载物 -> carpediem 4年前

我遇到的这个就是消息堆积了,然后重启服务就好了,另外遇到过不消费是kafka0.9.0.0里面的一个bug,你可以看下这个帖子https://blog.csdn.net/xianzhen376/article/details/51971167

carpediem -> 厚德载物 4年前

分区消息堆积,会导致漏消费某些消息? 目前我这边的情况是,topic 12000~15000中的几个消息丢失.

厚德载物 -> carpediem 4年前

消息堆积,导致这几个分区的消息都没有消费,就跟丢消息一样,不会恢复以后还会继续消费,你这个是丢的消息已经消费了?偏移量已经走后面去了,如果确定发消息没问题,那可能是在消费的有异常,看下日志排查下。

你的答案

查看kafka相关的其他问题或提一个您自己的问题