消息持久化就是在rabbitmq服务出现异常时(比如服务器宕机、rabbitmq服务停止等),已经在队列中的数据不会丢失。以文件的形式存在硬盘中。下面通过示例演示整个过程。
在生产者的服务中加入这段代码就可以实现数据持久化存储。
初始队列中的数据信息:
往带有持久化存储的队列SeckillProducerMessage中添加消息。
可以看到这个队列在文件夹中的信息。
msg_store_persistent文件夹是用于存放持久消息的,现在里面是没有数据的。
接着把rabbitmq服务停止。
可以看到队列中的数据被存储在msg_store_persistent文件夹中。
服务重启后,可以看到有两个队列里面有数据,其他的队列中数据都是0,因为这两个队列是做了持久化存储的。