RabbitMQ

RabbitMQ

持续更新中...

如何保证消息不丢失

  • 开启生产者确认机制,确保生产者的消息能到到队列,若报错则记录到日志里面
  • 开启持久化功能,确保未消费的消息不会丢失(交换机、队列、消息都要持久化)

如何解决重复消费问题

  • 消费者设置自动确认机制
  • redis分布式锁
  • 数据库锁

延迟队列的了解

延迟队列用死信交换机和TTL(消息存活时间实现的)

消息超时未消费就会变成死信,在RabbitMQ中如果消息成为死信,队列可以绑定一个死信交换机,在死信交换机上可以绑定其他队列,在我们发消息的时候可以按照需求指定TTL的时间,这样就实现了延迟队列的功能了。

大量消息堆积如何解决

  • 提高消费者消费能力,可以使用多线程
  • 增加消费者
  • 扩大队列容量,提高堆积上限
  • 使用惰性队列:
    • 接收到消息后直接存入磁盘而非内存
    • 消费者消费才把消息从磁盘加载到内存
    • 支持数百万的消息存储
相关推荐
AlickLbc6 小时前
RabbitMQ安装记录
分布式·rabbitmq
pursue.dreams7 小时前
Windows 安装 RabbitMQ 保姆级教程
windows·rabbitmq
切糕师学AI1 天前
RabbitMQ 是什么?
微服务·消息队列·rabbitmq
Anastasiozzzz1 天前
解决 RabbitMQ 的可靠性投递与消息重复消费问题思路
分布式·rabbitmq
Ronin3051 天前
订阅者模块
rabbitmq
fchampion2 天前
最终一致性
java·spring·rabbitmq·github·mvc
予枫的编程笔记3 天前
【Kafka基础篇】RabbitMQ、RocketMQ、Kafka怎么选?3种主流MQ核心差异实测解析
kafka·rabbitmq·rocketmq·分布式流处理·发布订阅模型·消息队列(mq)·点对点模型
Ronin3053 天前
连接管理模块和服务器模块
服务器·rabbitmq·网络通信·tcp连接
Jinkxs5 天前
RabbitMQ - 第一个 Hello World 程序:SpringBoot 版极简集成
spring boot·rabbitmq·java-rabbitmq
希忘auto5 天前
详解RabbitMQ高级特性之延迟队列
rabbitmq