RabbitMQ

RabbitMQ

持续更新中...

如何保证消息不丢失

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

如何解决重复消费问题

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

延迟队列的了解

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

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

大量消息堆积如何解决

  • 提高消费者消费能力,可以使用多线程
  • 增加消费者
  • 扩大队列容量,提高堆积上限
  • 使用惰性队列:
    • 接收到消息后直接存入磁盘而非内存
    • 消费者消费才把消息从磁盘加载到内存
    • 支持数百万的消息存储
相关推荐
此时不提桶,更待何时8 小时前
06-18-A-RabbitMQ消息特性与消费机制详解
分布式·rabbitmq
此时不提桶,更待何时11 小时前
06-19-A-RabbitMQ高可用与生产调优详解
rabbitmq
做个文艺程序员2 天前
MQ第02篇:RabbitMQ快速上手教程:AMQP模型详解+Spring Boot整合实战(附完整代码)
spring boot·消息队列·rabbitmq·java-rabbitmq·amqp
yexianglunbai2 天前
RabbitMQ 详解:从入门到实战
分布式·rabbitmq
程序猿乐锅3 天前
从0-1一文详解RabbitMQ
java·分布式·后端·中间件·rabbitmq·ruby
新鲜势力呀4 天前
PHP 消息队列实战:从同步接口阻塞到 RabbitMQ + Redis队列 + 异步任务架构完整优化方案
redis·rabbitmq·php
xxwl5855 天前
RabbitMQ 学习笔记
笔记·学习·rabbitmq
j7~9 天前
【C++标准项目】C++基于protobuf的发布订阅式消息队列(篇一):项目概述+环境搭建
分布式·消息队列·rabbitmq·gtest·protobuf·muduo·sqlites
仍然.10 天前
RabbitMQ---可靠性传输
网络·分布式·rabbitmq