开发者社区> 问答> 正文

kafka消费数据,一段时间后无法消费,需要重换groupId?报错

将图片数据base64以后,写入kafka,然后用java 写了一个消费代码,开始跑,没有问题,可以消费到数据,并处理,但是最近发现,跑一段时间无法消费到数据了,也有任何报错信息,给我的感觉有点像堵塞了,但是看kafka后台,一直有数据写入,我将groupId换一个新的,就又可以获取数据,但是用老的groupid就不可以,各位大神,有遇到过这种情况么?感觉这个bug无从下手?求指教

展开
收起
爱吃鱼的程序员 2020-06-08 13:06:43 1836 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    这种我遇到过,消费端是单线程消费,一旦有阻塞,就会导致无法消费新的数据。久而久之,你的消息通道就挂掉了。。

    如果是消费端线程阻塞,应用重启后应该可以消费消息,但重启后,仍然不能消费消息。。。

    这个我也遇到过,你可以试试spring-kafka

    感觉你应该是使用Kafka的订阅推送模式。

    你可以通过kafka的命令行工具查看一下你GroupId消费的游标到哪儿了,有多少lag的消息。确认好了知道。就知道是你写入的时候就出了问题了,还是你在获取订阅消费的时候出问题了。

    另外kafka本身是有侦听事件的。打个断点在侦听上啊。消费失败没关系,但侦听基本是不会出问题的。

    最后描述问题请把kafka的版本号及Scala的版本号确认好

    如果一个group下有多台机器的话,只有一台机器能正常消费.

    2020-06-08 13:07:01
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Java Spring Boot开发实战系列课程【第16讲】:Spring Boot 2.0 实战Apache Kafka百万级高并发消息中间件与原理解析 立即下载
MaxCompute技术公开课第四季 之 如何将Kafka数据同步至MaxCompute 立即下载
消息队列kafka介绍 立即下载