RabbitMq防止消息丢失

RabbitMq防止消息丢失

消息的传递路径

消息发送方 --> MQ --> 消息消费方

出现消息丢失的位置

  1. 消息发送方: 消息传输过程中丢失
  2. MQ: MQ收到消息后,存在内存中,还未被消费就宕机了,导致数据丢失
  3. 消息消费方: 消息到达消费方后, 服务挂了,MQ以为消息被消费了,导致数据丢失

解决

  1. 发送方: 开启MQ的confirm模式
  2. MQ: 开启exchange,queue,消息的持久化
  3. 消费方: 开启MQ的手动ack
  4. 消息补偿机制


参考文章
参考文章

相关推荐
Wang's Blog10 小时前
RabbitMQ: 实现高效消息监听之从基础到自动配置
分布式·rabbitmq
Wang's Blog11 小时前
RabbitMQ: 高级特性详解之消息返回机制与消费端确认机制
分布式·rabbitmq
Wang's Blog11 小时前
RabbitMQ: 使用MessageConverter高效处理消息
分布式·rabbitmq
‘胶己人’13 小时前
redis分布式锁
数据库·redis·分布式
山沐与山14 小时前
【MQ】Kafka与RocketMQ深度对比
分布式·kafka·rocketmq
武子康14 小时前
Java-203 RabbitMQ 生产者/消费者工作流程拆解:Connection/Channel、默认交换器、ACK
java·分布式·消息队列·rabbitmq·erlang·ruby·java-rabbitmq
小满、14 小时前
RabbitMQ: 同步异步解析、安装与控制台实践
分布式·消息队列·rabbitmq·mq
山沐与山14 小时前
【RabbitMQ】架构与集群模式详解
架构·rabbitmq·ruby
小满、15 小时前
RabbitMQ:AMQP 原理、Spring AMQP 实战与 Work Queue 模型
java·rabbitmq·java-rabbitmq·spring amqp·amqp 协议·work queue