rabbit持久化

阅读更多

如果我们希望即使在RabbitMQ服务重启的情况下,也不会丢失消息,我们需要将Queue与Message都设置为可持久化的(durable)。

 

在windows环境下,在rabbitmq的安装目录/sbin下,通过命令:

rabbitmqctl.bat    list_queues  查看存在的消息队列和队列的消息

如果没有持久化,重启rabbitmq,队列和消息都将消失。

 

当然,如果只是持久化了队列,那么消息在重启时也是会消失的,消息持久化代码如下:

channel.basic_publish(exchange = '',
                       routing_key = 'hello' ,
                       body = 'hello' ,
                       properties = pika.BasicProperties(
                           delivery_mode = 2 ,   # make message persistent
                       ))
 
# 增加properties,这个properties 就是消费端 callback函数中的properties
# delivery_mode = 2  持久化消息
 
对于队列的持久化,消费和生产端都是需要进行同样的持久化设置

你可能感兴趣的:(rabbit持久化)