本书未发布

线上几百万消息积压处理

未匹配的标注

前提

大量消.息在 mq 里积压了几个小时了还没解决上线后,代码故障,新消.息队列进行发送,消费者不能正常消息.导致几百万条数据在 MQ 里进行积压了好几个个小时。

线上几百万消息积压处理

解决

1 、先修复 consumer 的问题,确保其恢复消费速度,然后将现有 consumer 都停掉。
2 、临时建立好原先 10 倍或者 20 倍的 queue 数量。
3 、然后写一个临时分发消息的 consumer 程序,这个程序部署上去消费积压的消息,消费之后不做耗时处理,直接均匀轮询写入临时建好分 10 数量的 queue 里面。
4 、紧接着征用 10 倍的机器来部署 consumer ,每一批 consumer 消费一个临时 queue 的消.息。
5 、这种做法相当于临时将 queue 资源和 consumer 资源扩大 10 倍,从正常速度的 10 倍来消费消息。

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
发起讨论 只看当前版本


暂无话题~