网易首页 > 网易号 > 正文 申请入驻

MQ 消息积压的应急处理顺序:先止血再排查后预防

0
分享至

线上 MQ 突然积压几百万条消息,监控一片红,老板在旁边盯着,这时候最忌讳什么?上来就翻日志查原因。你查半小时,业务就挂了半小时,这账怎么算都不划算。

处理积压的正确姿势就九个字:先止血、再排查、后预防。优先级永远是先把业务救回来,再谈定位问题。

先说止血,十分钟内必须完成。

第一招,优先扩容消费端。这里有个硬限制你得知道:Kafka 和 RocketMQ 里,一个分区同一时间只能被一个消费线程消费,所以消费线程数最多等于分区数。操作上就是先临时加消费组实例数,再把单个实例的消费线程池核心数调大。大促的时候,我们 16 个读队列只起了 4 个消费者,扩到 16 台,消费速度当场翻倍。

第二招,降级非核心业务。日志、统计、推送这些非核心消息的消费直接关掉,把 CPU、内存、数据库连接全让给核心业务。电商大促时先停掉用户行为分析、商品推荐的消息消费,属于常规操作。

第三招,消息临时转储。积压量到百万级以上,直接消费会把 MQ 集群拖垮。写个简单脚本,把消息先转存到 Redis 或 MySQL,业务高峰过了再慢慢回放。

第四招,跳过死信消息。大量重复失败的死信会阻塞正常消费,先临时跳过,事后再单独处理。



血止住了,业务恢复了,这时候才轮到排查根因。90% 以上的积压问题出在消费端,不是生产端。常见就那么几类:消费端慢 SQL 卡死、第三方接口超时设置过长(比如 30 秒)、线程池队列过长导致任务堆在内存里,还有数据库连接池被耗尽,所有消费线程都在干等。



排查工具方面,Arthas trace 直接抓消费链路的耗时分布,一抓一个准。我当时就发现消费一条消息要 3 秒,全是卡在调下游优惠券接口上,P99 超时严重。后来上游加了一层本地缓存加降级兜底,接口挂了直接走缓存或默认券,单条消息处理从 3 秒降到 20 毫秒,积压很快就消下去了。

代码层面有几个技术点值得说。批量消费:一次拉取 32 条甚至 64 条消息,减少网络往返;虚拟线程:JDK 21 的虚拟线程做消费线程池,并发能力大幅提升;幂等性:用 Redis 的 SETNX 加过期时间实现,比数据库唯一索引快十倍以上。

还有个容易忽略的坑——顺序消息。直接增加读写队列会导致同一个 key 的消息被分到不同队列,顺序全乱。一般做法是暂停非顺序消费,把资源全部倾斜给顺序队列,或者按业务 key 水平拆分、增加分区数,但必须保证同一个 key 永远进同一个队列。真到了队列打满、消费者加不进去的地步,可以建一个临时的"泄洪 Topic",把积压消息快速搬过去,用一批临时机器全力消费,跟原业务完全隔离。



最后说预防。大促前一定要压测消费链路,很多团队只压生产端,结果消费链路被拖垮,一翻车就是大事故。另外积压量要实时告警,超过 1000 条普通告警,超过 10000 条紧急电话告警,短信、企业微信、电话多渠道通知,提前感知总比事后救火强。

说白了,MQ 积压这事,考验的不是你懂多少原理,而是紧急时刻能不能稳住节奏。先救业务,再查原因,最后补预防,这个顺序千万别搞反。你在项目里遇到过消息积压吗?当时是怎么处理的?评论区聊聊。

声明:内容由AI生成

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
玛拉沁夫同志逝世

玛拉沁夫同志逝世

政知新媒体
2026-09-02 08:39:10
孙宇晨 VS 胡锡进:最高明的舆论转移,遇上不跳坑的明白人

孙宇晨 VS 胡锡进:最高明的舆论转移,遇上不跳坑的明白人

浪子说
2026-09-02 17:07:47
稻盛和夫:唯有读书和赚钱,才是一个人最好的修行——前者不惑,后者不屈

稻盛和夫:唯有读书和赚钱,才是一个人最好的修行——前者不惑,后者不屈

杏花烟雨江南的碧园
2026-08-19 16:15:03
54岁演员谭凯开包子铺被质疑无戏可拍,本人回应:主业仍是拍戏,开店只是副业,无论演艺行业萧条还是火爆,我一直都是片约不断

54岁演员谭凯开包子铺被质疑无戏可拍,本人回应:主业仍是拍戏,开店只是副业,无论演艺行业萧条还是火爆,我一直都是片约不断

韩小娱
2026-08-31 09:06:54
农村严查彩钢瓦!村干部上门挨个通知,千万别抱有侥幸心理

农村严查彩钢瓦!村干部上门挨个通知,千万别抱有侥幸心理

三农雷哥
2026-07-23 17:40:22
美国炸鸡巨头中国首店开业:90元一桶、日均八九百单,代排费炒至150元

美国炸鸡巨头中国首店开业:90元一桶、日均八九百单,代排费炒至150元

蓝鲸新闻
2026-08-31 18:12:13
胡锡进喊话星宇股份:承诺未来优先把107名被辞应届生招回来

胡锡进喊话星宇股份:承诺未来优先把107名被辞应届生招回来

赴一场山海啊
2026-09-02 22:15:09
余文乐宣布离婚

余文乐宣布离婚

扬子晚报
2026-07-20 14:21:04
于东来惹上麻烦了,力挺韩红不到24小时,难堪一幕出现了,旧账全被扒

于东来惹上麻烦了,力挺韩红不到24小时,难堪一幕出现了,旧账全被扒

小鋭有话说
2026-09-01 15:56:51
“上午白露是冷冬,下午白露是暖冬”,今年白露几点?冬天冷吗?

“上午白露是冷冬,下午白露是暖冬”,今年白露几点?冬天冷吗?

牛锅巴小钒
2026-09-02 01:04:56
著名演员李立群含泪发视频!表示家被儿子给抄,82年百万级珍藏茅台被喝精光,评论区炸锅

著名演员李立群含泪发视频!表示家被儿子给抄,82年百万级珍藏茅台被喝精光,评论区炸锅

火山詩话
2026-08-10 17:01:43
克劳奇:大胆预测切尔西3‑2战胜阿森纳,宣告自己加入争冠

克劳奇:大胆预测切尔西3‑2战胜阿森纳,宣告自己加入争冠

懂球帝
2026-09-03 01:44:39
美俄再次讨论俄乌停火计划,克宫要求乌克兰移交顿巴斯

美俄再次讨论俄乌停火计划,克宫要求乌克兰移交顿巴斯

山河路口
2026-09-01 13:35:37
江西72岁大爷飞往非洲见初恋,见面才知自己儿孙满堂:我对不起你

江西72岁大爷飞往非洲见初恋,见面才知自己儿孙满堂:我对不起你

第四思维
2025-07-22 13:49:58
吉隆口岸编制近300!联检大厅日常只有60到90人,读懂人员轮班真相,厘清在编总人数与大厅现场执勤人数的区别

吉隆口岸编制近300!联检大厅日常只有60到90人,读懂人员轮班真相,厘清在编总人数与大厅现场执勤人数的区别

火山詩话
2026-08-30 10:23:17
古尔曼曝光苹果iPhone Ultra折叠屏手机更多细节

古尔曼曝光苹果iPhone Ultra折叠屏手机更多细节

IT之家
2026-09-02 22:30:10
多省份调整最低工资标准

多省份调整最低工资标准

第一财经资讯
2026-09-01 17:46:16
经济战第5天,贝森特把一家小银行踢出SWIFT,他在警示中国

经济战第5天,贝森特把一家小银行踢出SWIFT,他在警示中国

墨策讲历史
2026-09-02 16:08:54
美国炒作太空竞赛,怎么可能不输给务实中国?

美国炒作太空竞赛,怎么可能不输给务实中国?

烽火瞭望者
2026-09-02 04:25:10
使用辅助驾驶撞车被认定全责,一理想车主索赔5万元,理想:辅助驾驶有局限,司机是第一责任人

使用辅助驾驶撞车被认定全责,一理想车主索赔5万元,理想:辅助驾驶有局限,司机是第一责任人

91.6陕西交通广播
2026-09-02 15:42:47
2026-09-03 03:27:00
千纸鹤安安
千纸鹤安安
大自然的搬运工
105文章数 3关注度
往期回顾 全部

科技要闻

凌晨最强模型上新,Claude Fable 5.1发布

头条要闻

游客拍下疑冰崩画面:土石翻涌 山间有黑色物体涌出

头条要闻

游客拍下疑冰崩画面:土石翻涌 山间有黑色物体涌出

体育要闻

一次有奖问答,让他成为欧冠主帅

娱乐要闻

香港武打影星陈观泰离世,终年80岁

财经要闻

星宇股份的麻烦,才刚开始

汽车要闻

配双腔空悬+机械差速锁 传祺越7预售权益价17.18万起

态度原创

数码
本地
手机
时尚
公开课

数码要闻

戴森发布首款口腔护理科技CameraJet可视成像牙刷

本地新闻

昆明的雨,解锁汪曾祺的浪漫雨季

手机要闻

三天连着!OPPO、荣耀、vivo齐发布新款系统,到底谁会是最终选择?

白衬衫不火了?早秋穿“棕色衬衫”更高级好看

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版