介绍

:::tips 生产者确认可以确保消息投递到RabbitMQ的队列中,但是消息发送到RabbitMQ以后,如果突然宕机,也可能导致消息丢失,要想确保消息在RabbitMQ中安全保存,必须开启消息持久化机制

  • 交换机持久化
  • 队列持久化
  • 消息持久化

SpringAMQP声明的队列和交换机以及通过SpringAMQP发出的消息都是持久化的,所以无需做任何其他操作 :::

交换机持久化

:::tips RabbitMQ中交换机(原生)默认是非持久化的,重启后就会丢失

默认情况下,由SpringAMQP声明的交换机都是持久化的

在RabbitMQ控制台可以看到持久化的交换机都会带上D标识
image.png :::

队列持久化

:::tips RabbitMQ中队列(原生)默认是非持久化的,重启后就会丢失

默认情况下,由SpringAMQP声明的队列都是持久化的

在RabbitMQ控制台可以看到持久化的队列都会带上D标识
image.png :::

消息持久化

:::tips RabbitMQ中消息(原生)默认是非持久化的,重启后就会丢失

默认情况下,由SpringAMQP声明的交换机都是持久化的 :::