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

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.

相关推荐
热点推荐
罕见!台风“沙德尔”将180度大掉头,画一个“6”再次登陆!台风“科罗旺”路径大调整,画一个“7”奔向东海!浙江接下来天气...

罕见!台风“沙德尔”将180度大掉头,画一个“6”再次登陆!台风“科罗旺”路径大调整,画一个“7”奔向东海!浙江接下来天气...

台州交通广播
2026-09-03 00:49:06
经济战第5天,贝森特把一家小银行踢出SWIFT,他在警示中国

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

墨策讲历史
2026-09-02 16:08:54
英伟达股价涨幅扩大至4.19%,报226.550美元/股,总市值报5.46万亿美元

英伟达股价涨幅扩大至4.19%,报226.550美元/股,总市值报5.46万亿美元

每日经济新闻
2026-09-02 23:25:04
拉拉克岛遭美军打击后,伊朗正陷入三重困境

拉拉克岛遭美军打击后,伊朗正陷入三重困境

斌闻天下
2026-09-02 07:10:05
南海局势突变!美航母进入后突然失去踪迹,同时,解放军南海出动

南海局势突变!美航母进入后突然失去踪迹,同时,解放军南海出动

影孖看世界
2026-09-01 22:14:29
香蕉被关注!医生发现:冠心病人吃香蕉,不必等多久,有7个变化

香蕉被关注!医生发现:冠心病人吃香蕉,不必等多久,有7个变化

医学原创故事会
2026-09-02 15:22:04
5%生存概率死里逃生,美网挽救五赛点,励志黑马将对阵梅德韦杰夫

5%生存概率死里逃生,美网挽救五赛点,励志黑马将对阵梅德韦杰夫

网球之家
2026-09-02 23:20:07
胡锡进对孙宇晨《致胡锡进老师》的回复

胡锡进对孙宇晨《致胡锡进老师》的回复

DoNews
2026-09-01 23:16:59
2天5瓜!包贝尔被除名,刘晓庆败诉,王菲男闺蜜闯祸,于东来令人意外

2天5瓜!包贝尔被除名,刘晓庆败诉,王菲男闺蜜闯祸,于东来令人意外

叨唠
2026-09-02 04:53:25
香港中文大学(深圳)一高考排名260的学生,因不满和排名2600的同学住一个寝室,便提出退学,院士校长回应来了,真的很解气!

香港中文大学(深圳)一高考排名260的学生,因不满和排名2600的同学住一个寝室,便提出退学,院士校长回应来了,真的很解气!

凯旋学长
2026-09-02 22:28:39
国际篮联重大官宣!中国男篮亚运会喜从天降,全国产阵容正式就位

国际篮联重大官宣!中国男篮亚运会喜从天降,全国产阵容正式就位

青树柠檬q
2026-09-02 20:25:38
河北高阳警方通报“女子被当街殴打撕扯”:2人被刑拘

河北高阳警方通报“女子被当街殴打撕扯”:2人被刑拘

界面新闻
2026-09-02 16:13:22
荣格的智慧:底层人难以发财的根本原因,其实是身体太差

荣格的智慧:底层人难以发财的根本原因,其实是身体太差

阿胖读书
2026-08-24 16:10:53
知名女星赤裸上身 和两个儿子合照,身材火辣,网友:毫无边界感…

知名女星赤裸上身 和两个儿子合照,身材火辣,网友:毫无边界感…

草莓解说体育
2026-09-01 01:56:34
俄专家警告:称霸世界250年的美国,撞上如今中国,罕见慌了!

俄专家警告:称霸世界250年的美国,撞上如今中国,罕见慌了!

军机Nova
2026-09-03 00:22:12
尘埃落定!央媒已官宣刘国梁新身份,贪腐被带走传闻终究真相大白

尘埃落定!央媒已官宣刘国梁新身份,贪腐被带走传闻终究真相大白

兵卒史
2026-09-02 12:59:00
蒋介石初次携宋美龄前去拜见杜月笙,杜月笙看了她落座的姿态后,悄悄跟心腹说了一番话,没想到这话成了他一辈子最准的预言

蒋介石初次携宋美龄前去拜见杜月笙,杜月笙看了她落座的姿态后,悄悄跟心腹说了一番话,没想到这话成了他一辈子最准的预言

磊子讲史
2026-08-15 18:39:40
我和妈妈十年受的苦原来100元就能解決,网友:穷人习惯得过且过

我和妈妈十年受的苦原来100元就能解決,网友:穷人习惯得过且过

夜深爱杂谈
2026-08-29 21:06:18
卓伟爆终极内娱大瓜!两对夫妻全员出轨互换,邻居变爱人

卓伟爆终极内娱大瓜!两对夫妻全员出轨互换,邻居变爱人

情感大头说说
2026-08-25 04:57:59
《醒来》大结局:苏门没死,恩熙牺牲,陈开来成北极熊,上线苏门

《醒来》大结局:苏门没死,恩熙牺牲,陈开来成北极熊,上线苏门

情感大头说说
2026-09-03 00:33:28
2026-09-03 06:11:00
千纸鹤安安
千纸鹤安安
大自然的搬运工
105文章数 3关注度
往期回顾 全部

科技要闻

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

头条要闻

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

头条要闻

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

体育要闻

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

娱乐要闻

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

财经要闻

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

汽车要闻

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

态度原创

数码
本地
亲子
公开课
军事航空

数码要闻

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

本地新闻

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

亲子要闻

为啥老人一定要给儿子带小孩儿!网友:这是看到过的很正确的解释

公开课

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

军事要闻

特朗普威胁伊朗终极打击蓄势待发

无障碍浏览 进入关怀版