使用消息队列 RocketMQ 版后收到信息堆积告警,怎么办?
阿里云提醒您: 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。 请按照如下方法排查并解决问题。 登录消息队列 RocketMQ 版控制台,依次选择 资源报表 > 消息消费,输入对应信息,查询历史消费记录。如果消息写入速度大于消息消费速度,则调整业务代码或者对消费者进行扩容。 登录代码所在服务器,如果存在消息阻塞现象,则多次执行如下命令,连续打印Jstack信息,确认消费线程位置,解决后可尝试重启代码应用,观察消息消费是否恢复正常。
jstack -l [$PID] | grep ConsumeMessageThread 注:[$PID]为运行代码产生的进程ID。 如果消息堆积量较小,检查阈值是否设置过小导致消息堆积。单击 监控报警,单击目标监控项右侧 编辑,增加消息堆积的报警阈值。
请按照如下步骤确认问题得到解决。 登录代码所在服务器,执行如下命令,确认无消费线程阻塞现象。
jstack -l [$PID] | grep ConsumeMessageThread 登录消息队列 RocketMQ 版控制台,依次选择 Group 管理 > 消费者状态,在连接信息下方发现堆积量栏的值下降到正常值。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/