RabbitMQ

RabbitMQ

持续更新中...

如何保证消息不丢失

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

如何解决重复消费问题

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

延迟队列的了解

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

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

大量消息堆积如何解决

  • 提高消费者消费能力,可以使用多线程
  • 增加消费者
  • 扩大队列容量,提高堆积上限
  • 使用惰性队列:
    • 接收到消息后直接存入磁盘而非内存
    • 消费者消费才把消息从磁盘加载到内存
    • 支持数百万的消息存储
相关推荐
东小黑8 小时前
mac安装RabbitMQ
分布式·rabbitmq
JAVA面经实录9171 天前
RabbitMQ 完整面试题答案
java·rabbitmq·java-rabbitmq
pnoker3 天前
IoT DC3 消息总线:六适配器可插拔设计
物联网·架构·kafka·消息队列·rabbitmq
2601_962175663 天前
RabbitMQ 的工作模式
分布式·rabbitmq
2601_960906724 天前
1X发布自己的世界模型1XWM
mysql·mongodb·rabbitmq·memcached
Dreams_l4 天前
RabbitMQ介绍及其工作模式
分布式·rabbitmq
深念Y4 天前
视频平台架构重构:从微服务到可插拔基础设施
后端·微服务·云原生·架构·rabbitmq·音视频·rocketmq
Jul1en_5 天前
【Java 脚手架】封装通用工具类-3
java·开发语言·redis·缓存·ai·bootstrap·rabbitmq
就叫_这个吧7 天前
RabbitMQ+elasticsearch+Redis,实现新增内容并异步到es中,是否消费成功检测
redis·elasticsearch·rabbitmq
陈皮波比茶8 天前
RabbitMQ 消息队列
分布式·rabbitmq