rabbitmq如何保证消息不丢失

rabbitmq的消息流

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

哪个环节都容易丢失消息

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

如何判断消息是否丢失?

利用publisher confirm机制来判断。

消息丢失如何处理?

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

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

交换机持久化

队列持久化

消息持久化

相关推荐
稚南城才子,乌衣巷风流15 小时前
RabbitMQ 消息队列:从入门到实战
分布式·rabbitmq
过期动态2 天前
【LeetCode 热题 100】找到字符串中所有字母异位词
java·数据结构·算法·leetcode·职场和发展·rabbitmq
YDS8294 天前
大营销平台 —— 活动SKU库存扣减业务及其一致性处理
java·spring boot·redis·rabbitmq·ddd
霸道流氓气质4 天前
Kiro 中配置 RabbitMQ MCP Server 指南
分布式·rabbitmq·ruby
quweiie4 天前
tp8使用rabbitMQ消息队列的示例
消息队列·rabbitmq·thinkphp消息队列
六点_dn4 天前
RabbitMQ学习笔记-定义与作用
笔记·学习·rabbitmq
Steadfast_GG7 天前
RabbitMQ升级打怪之路(1) - RabbitMQ概述
消息队列·rabbitmq·流量削峰·消息分发·异步解耦
时代的狂8 天前
RabbitMQ 面试问答
分布式·面试·rabbitmq
半夜修仙8 天前
Spring集成邮箱功能
java·开发语言·spring boot·spring·rabbitmq·github·maven
半夜修仙9 天前
RabbitMQ的推模式和拉模式
java·分布式·中间件·rabbitmq·github·java-rabbitmq