RabbitMQ

RabbitMQ

持续更新中...

如何保证消息不丢失

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

如何解决重复消费问题

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

延迟队列的了解

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

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

大量消息堆积如何解决

  • 提高消费者消费能力,可以使用多线程
  • 增加消费者
  • 扩大队列容量,提高堆积上限
  • 使用惰性队列:
    • 接收到消息后直接存入磁盘而非内存
    • 消费者消费才把消息从磁盘加载到内存
    • 支持数百万的消息存储
相关推荐
长不胖的路人甲14 小时前
RabbitMQ 死信队列 DLQ
分布式·rabbitmq
她说可以呀2 天前
RabbitMQ Publisher_Confirms(发布确认)
分布式·rabbitmq·ruby
952363 天前
RabbitMQ-基础操作
java·spring boot·分布式·后端·spring·rabbitmq
Rain的Java大神实战圈4 天前
订单超时如何自动取消
消息队列·rabbitmq·高并发·架构设计
添砖java_8575 天前
基于RabbitMQ实现的轻量队列测试报告
分布式·rabbitmq
GuangdongTong5 天前
基于RabbitMQ实现延迟任务
后端·rabbitmq
淡然的煎蛋6 天前
开始使用RabbitMQ
分布式·rabbitmq·ruby
sukioe7 天前
从 0 到 1 构建城市公共设施智能报修与派单系统:FastAPI + Vue3 + RabbitMQ + Redis Geo + AI 工作流实践
redis·rabbitmq·fastapi
止语Lab11 天前
一次 goroutine 泄漏:pprof 说有 10 万个 goroutine,但问题不在 channel
rabbitmq
JLWcai202510091 个月前
铸造领域树脂砂轮|金利威多场景解决方案,20 + 配方覆盖全需求
mongodb·zookeeper·eureka·spark·rabbitmq·memcached·storm