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

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.

相关推荐
热点推荐
第二个许家印!又一首富栽了!世界500强竟是假的,千亿帝国清零

第二个许家印!又一首富栽了!世界500强竟是假的,千亿帝国清零

蜉蝣说
2026-07-17 09:47:08
新西兰连捅中国四刀后竟还想要订单?中方四字警告已出,恒天然们彻底慌了!四轮捅刀换来的代价,恐怕整个奶业都扛不住?

新西兰连捅中国四刀后竟还想要订单?中方四字警告已出,恒天然们彻底慌了!四轮捅刀换来的代价,恐怕整个奶业都扛不住?

扶苏聊历史
2026-08-25 14:51:05
住建部官媒:杂音再多,都无法阻止中国房地产市场向上

住建部官媒:杂音再多,都无法阻止中国房地产市场向上

专业聊房君
2026-08-24 18:43:07
陈妍希携亲姐上节目,无意间的一句话,撕开了和陈晓离婚的真实内幕

陈妍希携亲姐上节目,无意间的一句话,撕开了和陈晓离婚的真实内幕

喵喵娱乐团
2026-08-25 14:56:47
台风“沙德尔”已逼近!江苏将出现大浪、风暴增水!

台风“沙德尔”已逼近!江苏将出现大浪、风暴增水!

无锡eTV全媒体
2026-08-26 02:28:10
全国严查体制内 “关系户”:“世袭岗” 凉了,普通人的机会来了

全国严查体制内 “关系户”:“世袭岗” 凉了,普通人的机会来了

职场资深秘书
2026-08-25 15:32:13
金鹰奖视后提名出炉,3人实至名归,1人惨遭群嘲,她成最大黑马

金鹰奖视后提名出炉,3人实至名归,1人惨遭群嘲,她成最大黑马

一娱三分地
2026-08-25 19:19:39
消息人士:伊朗希望通过巴基斯坦向美方转达谈判条件

消息人士:伊朗希望通过巴基斯坦向美方转达谈判条件

新华社
2026-08-25 22:35:07
金鹰奖名单干净得反常,这次不是评委变了,是整个行业变了

金鹰奖名单干净得反常,这次不是评委变了,是整个行业变了

手工制作阿歼
2026-08-26 02:48:54
知名主播与好兄弟决裂后退圈,爆料十多年收入吓坏水友:这也太多了!

知名主播与好兄弟决裂后退圈,爆料十多年收入吓坏水友:这也太多了!

暴龙电竞号
2026-08-25 21:56:46
午后,重挫近10000点!原因是?

午后,重挫近10000点!原因是?

金融界
2026-08-25 16:05:51
皇马从拜仁慕尼黑签下26岁前尤文图斯中场卡鲁索,签约4年

皇马从拜仁慕尼黑签下26岁前尤文图斯中场卡鲁索,签约4年

福酱的小时光
2026-08-25 11:13:50
非必要不做肠镜?医生:只要做过肠镜,患者一定多加关注这4点!

非必要不做肠镜?医生:只要做过肠镜,患者一定多加关注这4点!

芹姐说生活
2026-07-09 23:13:04
一段非常有道理的话:如果人到了老年还好色,足以证明这人有极强的生命力,撕开了中国式养老最隐秘的遮羞布

一段非常有道理的话:如果人到了老年还好色,足以证明这人有极强的生命力,撕开了中国式养老最隐秘的遮羞布

心理观察局
2026-08-23 06:46:03
郑钦文VS比雷尔,比赛时间出炉,央视很重视,谁能晋级,奖金多少

郑钦文VS比雷尔,比赛时间出炉,央视很重视,谁能晋级,奖金多少

体育大学僧
2026-08-25 10:28:43
克宫:亚美尼亚可自行决定去留

克宫:亚美尼亚可自行决定去留

参考消息
2026-08-25 13:43:31
妻子与初恋开房后,偷偷钻进我被窝,我冷漠推开她:离远点我嫌脏

妻子与初恋开房后,偷偷钻进我被窝,我冷漠推开她:离远点我嫌脏

千秋文化
2026-08-21 19:55:45
从16亿跌到0.4亿,耗资超两亿结果连《牛来》都不如,《姜子牙》导演新作血扑

从16亿跌到0.4亿,耗资超两亿结果连《牛来》都不如,《姜子牙》导演新作血扑

娱乐故事
2026-08-25 14:10:00
美国忍不了了,终于下狠手了,这一次国本动摇

美国忍不了了,终于下狠手了,这一次国本动摇

一个坏土豆
2026-08-24 20:29:46
密歇根参选人直播反问福克斯主播:你是在开玩笑吗

密歇根参选人直播反问福克斯主播:你是在开玩笑吗

生活观察员啊
2026-08-26 01:49:15
2026-08-26 05:31:00
千纸鹤安安
千纸鹤安安
大自然的搬运工
95文章数 3关注度
往期回顾 全部

科技要闻

机器人跑赢博尔特,身体太快,脑子还在追

头条要闻

赴韩遇害中国女生年仅25岁 原计划2天前入职新单位

头条要闻

赴韩遇害中国女生年仅25岁 原计划2天前入职新单位

体育要闻

穆里尼奥如何摆贝林修斯姆巴佩?

娱乐要闻

张韶涵成都演唱会中暑,中途吸氧

财经要闻

宇树科技最低跌破600元 5天缩水超2000亿

汽车要闻

硬派越野+华为智驾 泰钽700上市焕新价24.98万起

态度原创

游戏
教育
旅游
房产
公开课

《GTA6》再泄露!游戏货架摆满JS8主机 还有实体盘

教育要闻

严禁幼儿园小学化教育,教育部:幼儿园不得教授小学阶段的课程

旅游要闻

相伴百年树与塔,浪漫传说传遍大江南北,背后藏着一段硝烟往事!

房产要闻

一年亏掉26个亿!三江潮声,吹不醒南沙开建豪宅美梦

公开课

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

无障碍浏览 进入关怀版