今天在开发环境测试了下功能,早上10点的时候发送了个消息消费成功了,但是下午的时候,发现没有消费,就去控制台查看了下,显示group在线,但是在topic下的消息查询中却没有group消费
rocketMQ配置了消费者,生产者发送成功了,但是无法消费[阿里云消息队列MQ]
「点点赞赏,手留余香」
还没有人赞赏,快来当第一个赞赏的人吧!
今天在开发环境测试了下功能,早上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,