今天在开发环境测试了下功能,早上10点的时候发送了个消息消费成功了,但是下午的时候,发现没有消费,就去控制台查看了下,显示group在线,但是在topic下的消息查询中却没有group消费
先检查是否成功发送到topic。 查看下是不是有线程被死循环占用或者被IO流等待了,线程一直处于Runnable状态。 检查消费者是否成功订阅。
rocketMq消息都是有多种可能原因: 1)mq消息异步 刷盘机制,可以优化为同步刷盘机制 2)mq集群异步复制,可以优化为同步复制机制。 3)mq消息发送失败记录,并做发送重试机制。 4)生产消息的发送机制,做同步发送机制。(生产发送消息:同步,异步,oneway)
需要检查一下这个topic有没有订阅成功,在我们的系统中就出现过topic自动不订阅了,那这个时候肯定怎么也消费不了。
我想到的可能的情况,你可以按照我的步骤检查一下: 检查Consumer进程是否异常终止或者网络是否正常。
检查是否配置了filter规则,而且确保消息满足这些规则。
最后就是可能Consumer正在重新分配partition:这种情况下暂时不会消费消息,请稍候再检查。
rocketMQ信息没有消费原因有很多,大部分可以借助rocketMQ Dashboard去排查。
首先我们先查找期望消费的消息,查找的方式有很多种,根据消息id,时间等。 消息没找到 说明proder发送异常,也有可能是消息过期了,因为rocketmq的消息默认保存72h,此时到producer端的日志进一步确认即可。
消息找到了 接着看消息的消费状态,如下图消息的消费状态为NOT_ONLINE。 状态解释 怎么判定消息是否被消费 每个队列broker端的offset(代理者位点)以及消息消费的offset(消费者位点),差值就是没有被消费的消息。
当消息都被消费时,差值为0,
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/