kafka消费不到数据问题
短信预约 -IT技能 免费直播动态提醒
- 出问题现象
最近项目使用到了kafka,别的系统作为生产者,我们系统作为消费者,但是经常出现消费者消费一段时间就不消费了,根本就触发不了kafkaListener的拉取动作。换一个消费者组,从最新的位置消费又可以消费的到,但是消费一段时间就又消费不到。查看服务端没任何报错,客户端也没有任何报错。 - 排查思路
原因一:消费速度太慢,导致数据积压太多,所以无法消费(现在想想根本不可能)???
由原来的1条1条拉取,改成批量消费,还是不行。改成多线程消费还是不行。
原因二:没有给多个消费线程添加id(这个是在容器中,便于区分)
@kafkaListenner(topic="test",groupId="test11",containerFactory="kafkaLinstenerContainerFactory",id="testThead")
加了没用
原因三:心跳、会话超时时间有问题???
查阅官网资料,将参数调整为:
enable.auto.commit=trueauto.commiit.interval=100session.timeout.ms=18000request.timeout.ms=18000##官方建议会话超时时间是心跳间隔的3倍heartbeat.interval=6000
改了参数还是不行。。。
最终原因:至此不怀疑自己写的代码有问题了,开始在服务端找问题,各种百度尝试也无果。求助优秀的同时,排查了几天终于找到问题,简单来说就是限流了。这个博客kafka流量限制解释的很详细。
我们公司是利用界面化创建的kafka,创建的时候我们选着的是默认值,默认consumer.byte.rate=1024Byte。修改之后服务都正常了。
在此做一个记录,以后默认的东西还是要自己了解过再用,这个阻碍了我两个星期。。。。。。
来源地址:https://blog.csdn.net/qq_42315376/article/details/129241130
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341