RabbitMQ-消息堆积

  1. 消息堆积

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

  1. 解决方案

① 增加更多的消费者,提高消费速度

② 在消费者内开启线程池加快消息处理速度

③ 扩大队列容积,提高堆积上限,即使用惰性队列

  1. 惰性队列

惰性队列的特征:

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

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

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

相关推荐
空中海2 小时前
Kafka Streams、Connect 与生态
分布式·kafka·linq
KmSH8umpK16 小时前
Redis分布式锁从原生手写到Redisson高阶落地,附线上死锁复盘优化方案进阶第三篇
redis·分布式·wpf
Dontla19 小时前
aio-pika介绍(基于asyncio的Python异步消息队列客户端,用于操作RabbitMQ,并实现对AMQP协议支持)
python·rabbitmq·ruby
KmSH8umpK19 小时前
SpringBoot 分布式锁实战:从单机锁到Redis分布式锁全覆盖,解决超卖、重复下单、幂等并发问题
spring boot·redis·分布式
KmSH8umpK1 天前
Redis分布式锁从原生手写到Redisson高阶落地,附线上死锁复盘优化方案
redis·分布式·wpf
_F_y1 天前
仿RabbitMQ实现消息队列-服务端核心模块实现(3)
c++·算法·rabbitmq
长河1 天前
XXL-JOB 从本地快速上手到核心架构深度解析
分布式
juniperhan1 天前
Flink 系列第22篇:Flink SQL 参数配置与性能调优指南:从 Checkpoint 到聚合优化
大数据·数据仓库·分布式·sql·flink
juniperhan1 天前
Flink 系列第21篇:Flink SQL 函数与 UDF 全解读:类型推导、开发要点与 Module 扩展
java·大数据·数据仓库·分布式·sql·flink
marsh02062 天前
41 openclaw分布式会话管理:跨服务状态同步方案
分布式·ai·编程·技术