MQ消息堆积如何解决?

RabbitMQ如果有100万消息堆积在MQ,如何解决?

当生产者发送消息的速度超过消费者处理消息的速度,就会导致队列中的消息堆积,只到队列存储消息达到上限。之后发送的消息就会成为死信,可能会被丢弃,这就是消息堆积的问题。

解决消息堆积的三种思路:

    1. 增加更多的消费者,提高消费速度。
    2. 在消费者内开启线程池,加快消息处理速度。
    3. 扩大队列的容积,提高堆积上限。(采用惰性队列)

惰性队列特征:

接收到消息后直接存入磁盘而非内存

消费者要消费消息时才会从磁盘中读取并加载到内存中

支持数百万条的消息存储。

设置方式:

配置的方式 .lazy

注解的方式.value=lazy

相关推荐
咖啡教室3 小时前
java日常开发笔记和开发问题记录
java
咖啡教室3 小时前
java练习项目记录笔记
java
鱼樱前端3 小时前
maven的基础安装和使用--mac/window版本
java·后端
RainbowSea4 小时前
6. RabbitMQ 死信队列的详细操作编写
java·消息队列·rabbitmq
RainbowSea4 小时前
5. RabbitMQ 消息队列中 Exchanges(交换机) 的详细说明
java·消息队列·rabbitmq
我不会编程5556 小时前
Python Cookbook-5.1 对字典排序
开发语言·数据结构·python
李少兄6 小时前
Unirest:优雅的Java HTTP客户端库
java·开发语言·http
此木|西贝6 小时前
【设计模式】原型模式
java·设计模式·原型模式
可乐加.糖6 小时前
一篇关于Netty相关的梳理总结
java·后端·网络协议·netty·信息与通信
无名之逆6 小时前
Rust 开发提效神器:lombok-macros 宏库
服务器·开发语言·前端·数据库·后端·python·rust