分布式异步队列学习总结9(消息持久化)

消息持久化就是在rabbitmq服务出现异常时(比如服务器宕机、rabbitmq服务停止等),已经在队列中的数据不会丢失。以文件的形式存在硬盘中。下面通过示例演示整个过程。

在生产者的服务中加入这段代码就可以实现数据持久化存储。

初始队列中的数据信息:

往带有持久化存储的队列SeckillProducerMessage中添加消息。

可以看到这个队列在文件夹中的信息。

msg_store_persistent文件夹是用于存放持久消息的,现在里面是没有数据的。

接着把rabbitmq服务停止。

 可以看到队列中的数据被存储在msg_store_persistent文件夹中。

服务重启后,可以看到有两个队列里面有数据,其他的队列中数据都是0,因为这两个队列是做了持久化存储的。