开发者社区 > 云原生 > 消息队列 > 正文

rocketMQ配置了消费者,生产者发送成功了,但是无法消费

今天在开发环境测试了下功能,早上10点的时候发送了个消息消费成功了,但是下午的时候,发现没有消费,就去控制台查看了下,显示group在线,但是在topic下的消息查询中却没有group消费

展开
收起
1886664016791446 2023-02-01 15:22:21 762 0
5 条回答
写回答
取消 提交回答
  • 码中自由一片天地。。。

    先检查是否成功发送到topic。 查看下是不是有线程被死循环占用或者被IO流等待了,线程一直处于Runnable状态。 检查消费者是否成功订阅。

    2023-02-02 10:02:59
    赞同 展开评论 打赏
  • rocketMq消息都是有多种可能原因: 1)mq消息异步 刷盘机制,可以优化为同步刷盘机制 2)mq集群异步复制,可以优化为同步复制机制。 3)mq消息发送失败记录,并做发送重试机制。 4)生产消息的发送机制,做同步发送机制。(生产发送消息:同步,异步,oneway)

    2023-02-01 22:25:15
    赞同 展开评论 打赏
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    需要检查一下这个topic有没有订阅成功,在我们的系统中就出现过topic自动不订阅了,那这个时候肯定怎么也消费不了。

    2023-02-01 17:12:31
    赞同 展开评论 打赏
  • 我想到的可能的情况,你可以按照我的步骤检查一下: 检查Consumer进程是否异常终止或者网络是否正常。

    检查是否配置了filter规则,而且确保消息满足这些规则。

    最后就是可能Consumer正在重新分配partition:这种情况下暂时不会消费消息,请稍候再检查。

    2023-02-01 16:48:44
    赞同 展开评论 打赏
  • 发表文章、提出问题、分享经验、结交志同道合的朋友

    rocketMQ信息没有消费原因有很多,大部分可以借助rocketMQ Dashboard去排查。

    首先我们先查找期望消费的消息,查找的方式有很多种,根据消息id,时间等。 消息没找到 说明proder发送异常,也有可能是消息过期了,因为rocketmq的消息默认保存72h,此时到producer端的日志进一步确认即可。

    消息找到了 接着看消息的消费状态,如下图消息的消费状态为NOT_ONLINE。 image.png 状态解释 image.png 怎么判定消息是否被消费 每个队列broker端的offset(代理者位点)以及消息消费的offset(消费者位点),差值就是没有被消费的消息。 image.png

    当消息都被消费时,差值为0, image.png

    2023-02-01 16:19:58
    赞同 1 展开评论 打赏

多个子产品线联合打造金融级高可用消息服务以及对物联网的原生支持,覆盖多行业。

相关产品

  • 云消息队列 MQ
  • 热门讨论

    热门文章

    相关电子书

    更多
    行业实践:RocketMQ 业务集成典型行业应用和实践 立即下载
    技术揭秘:RocketMQ 5.0 云原生架构升级之路 立即下载
    RocketMQ Summit 2022 开源生态发展 立即下载