MQ消息堆积如何解决?

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

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

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

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

惰性队列特征:

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

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

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

设置方式:

配置的方式 .lazy

注解的方式.value=lazy

相关推荐
哈基咩8 分钟前
Go语言unsafe包深度解析
服务器·开发语言·后端·golang
天若有情67327 分钟前
从一个“诡异“的C++程序理解状态机、防抖与系统交互
开发语言·c++·交互·面向对象·状态机
武昌库里写JAVA28 分钟前
vue+iview+i18n国际化
java·开发语言·spring boot·学习·课程设计
henreash28 分钟前
xLua和C#交互
开发语言·c#·交互
xzkyd outpaper32 分钟前
Android中ViewStub和View有什么区别?
android·开发语言·面试·代码
你我约定有三32 分钟前
RabbitMQ--Springboot解决消息丢失
java·spring boot·rabbitmq·java-rabbitmq
菠萝催学12333 分钟前
日志配置Slf4j
java·数据库·spring·tomcat·maven·intellij-idea
喝可乐的希饭a1 小时前
Spring 策略模式实现
java·spring·策略模式
荒诞硬汉1 小时前
二维数组相关学习
java·算法
我有一只肥螳螂1 小时前
idea监控本地堆栈
java·ide·intellij-idea