RabbitMq防止消息丢失

RabbitMq防止消息丢失

  • 消息的传递路径
  • 出现消息丢失的位置
  • 解决

消息的传递路径

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

出现消息丢失的位置

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

解决

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

RabbitMq防止消息丢失_第1张图片
RabbitMq防止消息丢失_第2张图片

参考文章
参考文章

你可能感兴趣的:(rabbitmq,分布式)