rabbitmq如何保证消息不丢失

rabbitmq的消息流

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

哪个环节都容易丢失消息

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

如何判断消息是否丢失?

利用publisher confirm机制来判断。

消息丢失如何处理?

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

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

交换机持久化

队列持久化

消息持久化

相关推荐
Dontla20 小时前
aio-pika介绍(基于asyncio的Python异步消息队列客户端,用于操作RabbitMQ,并实现对AMQP协议支持)
python·rabbitmq·ruby
_F_y1 天前
仿RabbitMQ实现消息队列-服务端核心模块实现(3)
c++·算法·rabbitmq
冷小鱼3 天前
消息队列(MQ)技术全景科普:从选型到AI+未来
人工智能·kafka·rabbitmq·rocketmq·mq·pulsar
_F_y3 天前
仿RabbitMQ实现消息队列-服务端核心模块实现(2)
网络·rabbitmq
io无心3 天前
SpringAMQP
rabbitmq·springamqp
fengxin_rou4 天前
RabbitMQ安装教程:windows本地安装和docker部署
java·分布式·后端·rabbitmq
Albert Edison4 天前
【RabbitMQ】RPC 通信(使用案例)
分布式·rpc·rabbitmq
weixin_419658315 天前
RabbitMQ 的高级特性
java·分布式·rabbitmq
_F_y5 天前
仿RabbitMQ实现消息队列-服务端核心模块实现(1)
分布式·rabbitmq
.柒宇.5 天前
RabbitMQ入门教程
分布式·rabbitmq