> 解决RabbitMQ积压的核心是提升消费速度。可通过增加消费者实例、开启多线程消费、优化业务逻辑、临时建立新队列分流扩容,或在非关键场景下丢弃数据来处理。 --- RabbitMQ 消息积压通常是由于生产速度远大于消费速度,或者消费者出现故障/Bug导致的。针对不同程度的积压和业务场景,可以采取以下几种处理方案: 1. 紧急扩容法(适用于海量积压) 当积压量非常大(如百万级),单纯增加消费者可能不够,或者由于队列自身的锁竞争导致瓶颈,需要采用临时分流的策略。 原理:将原来的“慢消费”逻辑改为“快转发”逻辑,通过新建多个临时队列并行处理。 步骤: 1. 修复消费者:确保消费者逻辑没有 Bug,能够正常运行。 2. 停掉现有消费者:暂时停止原有的消费者程序。 3. 新建临时队列:新建一个 Topic Exchange 和 1020 个临时队列(例如 到 )。 4. 编写分发程序:写一个临时的消费者程序(转发器),它不处理业务逻辑,只负责从原积压队列读取消息,并轮询写入这 1020 个临时队列中(这一步速度极快)。 5. 部署临时消费者:部署 1020 倍数量的消费者实例,分别订阅...