rabbitmq如何保证消息不丢失

rabbitmq的消息流

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

哪个环节都容易丢失消息

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

如何判断消息是否丢失?

利用publisher confirm机制来判断。

消息丢失如何处理?

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

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

交换机持久化

队列持久化

消息持久化

相关推荐
问道飞鱼20 小时前
【分布式中间件】RabbitMQ 功能详解与高可靠实现指南
分布式·中间件·rabbitmq·amqp
weixin_436525071 天前
linux-RabbitMQ创建虚拟主机、用户、分配权限、标签
linux·运维·服务器·rabbitmq
Liquad Li1 天前
RabbitMQ 和 Kafka 对比
分布式·kafka·rabbitmq
Mr Aokey2 天前
从零开始学RabbitMQ:Java实战简单模式与工作队列消息处理
java·rabbitmq
王嘉俊9252 天前
Kafka 和 RabbitMQ 使用:消息队列的强大工具
java·分布式·中间件·kafka·消息队列·rabbitmq·springboot
qyt19885202 天前
关于队列的比较(Kafka、RocketMQ、RabbitMQ)
kafka·rabbitmq·rocketmq
零千叶2 天前
【面试】Kafka / RabbitMQ / ActiveMQ
面试·kafka·rabbitmq
ICollection3 天前
RabbitMQ的安装集群、镜像队列配置
消息队列·rabbitmq·集群
微步_ym3 天前
RabbitMQ:在Linux上安装RabbitMQ
linux·rabbitmq·erlang
共饮一杯无3 天前
在 Windows 系统上怎么使用rabbitmq相关命令,比如:rabbitmqctl list_queues 命令
windows·rabbitmq·rabbitmq命令