rabbitmq如何保证消息不丢失

rabbitmq的消息流

信息发送者-交换器-队列-消息消费者

哪个环节都容易丢失消息

  • 消息未到交换器
  • 消息未到队列
  • 队列中的消息丢失
  • 消费者未接受到消息

如何判断消息是否丢失?

利用publisher confirm机制来判断。

消息丢失如何处理?

  1. 回调方法即时重发
  2. 保存日志
  3. 保存到数据库然后定时重发,成功发送后即刻删除表中数据

MQ默认是内存存储消息,开启持久化功能可以确保缓存在MQ中的消息不丢失。

交换机持久化

队列持久化

消息持久化

相关推荐
不想写bug呀3 小时前
RabbitMQ集群和仲裁队列
rabbitmq·集群·仲裁队列
信创天地11 小时前
国产化数据库深度运维:性能调优与故障排查实战指南
运维·数据库·安全·elk·自动化·rabbitmq
jiayong2312 小时前
MQ基础概念面试题
java·kafka·rabbitmq·rocketmq
成为你的宁宁14 小时前
【RabbitMQ 集群企业级实战:RabbitMQ 特性、存储、工作模式解析与普通集群搭建及仲裁队列搭建企业级配置】
分布式·rabbitmq
Anastasiozzzz16 小时前
RabbitMQ介绍与基础架构
分布式·rabbitmq
洛阳纸贵17 小时前
JAVA高级工程师--RabbitMQ消息可靠性、若依集成升级
java·rabbitmq·java-rabbitmq
jiayong2317 小时前
MQ性能优化面试题
java·性能优化·kafka·rabbitmq
小北方城市网2 天前
Spring Cloud Gateway 全链路监控与故障自愈实战
spring boot·python·rabbitmq·java-rabbitmq·数据库架构
小北方城市网3 天前
Spring Cloud Gateway 进阶实战:自定义过滤器、动态路由与全链路日志监控
spring boot·python·rabbitmq·java-rabbitmq·数据库架构
Roye_ack3 天前
【微服务 Day6】SpringCloud实战开发(RabbitMQ高级篇 + 死信交换机、延迟消息)
spring cloud·微服务·rabbitmq·mq