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

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

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

展开
收起
1886664016791446 2023-02-01 15:22:21 1801 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 展开评论 打赏

涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/

相关产品

  • 云消息队列 MQ
  • 相关电子书

    更多
    RocketMQ Client-GO 介绍 立即下载
    RocketMQ Prometheus Exporter 打造定制化 DevOps 平台 立即下载
    基于 RocketMQ Prometheus Exporter 打造定制化 DevOps 平台 立即下载