RabbitMQ如何确保消息不丢失?

Posted 四猿外

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RabbitMQ如何确保消息不丢失?相关的知识,希望对你有一定的参考价值。

消息持久化,当然前提是队列必须持久化

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

一旦消费者从持久队列中消费了一条持久化消息, RabbitMQ 会在持久化日志中把这条消息标记为等待垃圾收集。如果持久化消息在被消费之前RabbitMQ 重启,那么Rabbit 会自动重建交换器和队列(以及绑定),并重新发布持久化日志文件中的消息到合适的队列。

以上是关于RabbitMQ如何确保消息不丢失?的主要内容,如果未能解决你的问题,请参考以下文章

我的RabbitMQ学习(消息持久性)

rabbitMQ和kafka的区别

五RabbitMQ持久化

RabbitMQ学习-- 队列持久化

如何保证消息队列的可靠性传输?

rabbitmq(二)订阅模式\路由模式\topic