RabbitMQ的持久化

一、消息队列的持久化

在声明消息队列是,将durable设置为true
RabbitMQ的持久化_第1张图片
控制台中显示这个消息队列是持久化的
RabbitMQ的持久化_第2张图片
即使重启RabbitMQ服务器,这个消息队列仍然存在,这只是消息队列进行了持久化,不能保证消息在RabbitMQ服务器重启后仍然存在,所以还需要对消息进行持久化。

二、消息持久化

生产者在发布消息时设置属性为MessageProperties.PERSISTENT_TEXT_PLAIN就可以将消息进行持久化
RabbitMQ的持久化_第3张图片
将消息标记为持久化并不能完全保证不会丢失消息。尽管它告诉 RabbitMQ 将消息保存到磁盘,但是这里依然存在当消息刚准备存储在磁盘的时候 但是还没有存储完,消息还在缓存的一个间隔点。此时并没有真正写入磁盘,仍然再存丢失消息的可能性。而RabbitMQ发布确认机制提供了更可靠的消息持久化功能。

你可能感兴趣的:(RabbitMQ,RabbitMQ,消息队列,数据持久化)