本书未发布

线上几百万消息积压处理

未匹配的标注

前提

大量消.息在 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 网站上。

上一篇 下一篇
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
发起讨论 只看当前版本


暂无话题~