MQ消息堆积如何解决?

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

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

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

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

惰性队列特征:

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

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

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

设置方式:

配置的方式 .lazy

注解的方式.value=lazy

相关推荐
猿与禅18 小时前
Spring Boot 4.0 完整核心特性及实践指南
java·spring boot·后端·spring·重大升级·springboot4.0
运维@小兵18 小时前
Spring-AI系列——Tool Calling获取当前时间
java·后端·spring
认真敲代码的小火龙18 小时前
【JAVA项目】基于JAVA的养老院管理系统
java·开发语言·课程设计
he___H18 小时前
滑动窗口一题
java·数据结构·算法·滑动窗口
AI科技星18 小时前
统一场论质量定义方程:数学验证与应用分析
开发语言·数据结构·经验分享·线性代数·算法
扶苏-su18 小时前
Java---事件处理机制
java·开发语言
雨中飘荡的记忆18 小时前
Hutool工具库实战
java
小灰灰搞电子18 小时前
Qt 实现炫酷锁屏源码分享
开发语言·qt·命令模式
镜花水月linyi18 小时前
Java 线程创建的完整链路:从 Java 层 → JVM 层 → 操作系统层
java·后端·面试
电饭叔18 小时前
TypeError:unsupported operand type(s) for -: ‘method‘ and ‘int‘
开发语言·笔记·python