消息持久化

来源:互联网 发布:mysql 视图 性能 编辑:程序博客网 时间:2024/05/21 06:19

  默认情况下,RabbitMQ的交换器、队列和消息都是非持久化的,重启RabbitMQ服务器后,所有东西都会消失,如果需要持久化消息,需要完成以下几个步骤:

  1. 设置队列和交换器的durable属性为true
  2. 在消息发布前,通过把它的“投递模式”(delivery mode)选项设置为2来把消息标记为持久化

RabbitMQ确保持久性消息能从服务器重启中恢复的方式是,将它们写入磁盘上的一个持久化日志文件。当发布一条持久性消息到持久性交换器上时,Rabbit会在消息提交到日志文件后才发送响应。