rabbitmq如何保证消息不丢失

rabbitmq的消息流

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

哪个环节都容易丢失消息

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

如何判断消息是否丢失?

利用publisher confirm机制来判断。

消息丢失如何处理?

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

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

交换机持久化

队列持久化

消息持久化

相关推荐
好玩的Matlab(NCEPU)17 小时前
Redis vs RabbitMQ 对比总结
数据库·redis·rabbitmq
好玩的Matlab(NCEPU)18 小时前
消息队列RabbitMQ、Kafka、ActiveMQ 、Redis、 ZeroMQ、Apache Pulsar对比和如何使用
kafka·rabbitmq·activemq
鸽鸽程序猿21 小时前
【RabbitMQ】简介
分布式·rabbitmq
斯班奇的好朋友阿法法2 天前
rabbitmq在微服务中配置监听开关
微服务·rabbitmq·ruby
ZHE|张恒3 天前
Docker 安装 RabbitMQ
docker·rabbitmq
斯班奇的好朋友阿法法3 天前
rabbitmq服务端消费端实例(direct和fanout模式)
分布式·rabbitmq·ruby
斯班奇的好朋友阿法法3 天前
rabbitmq的多交换机(扇出为例)监听实现
分布式·rabbitmq·ruby
武话不港13 天前
RabbitMQ异常,handleDelivery方法异常
分布式·消息队列·rabbitmq
深思慎考4 天前
RabbitMQ 入门:基于 AMQP-CPP 的 C++ 实践指南与二次封装
开发语言·c++·分布式·rabbitmq·api
Mr.45674 天前
RabbitMQ消息传输中Protostuff序列化数据异常的深度解析与解决方案
rabbitmq