【问题标题】:RabbitMQ Durable queue on disk node磁盘节点上的 RabbitMQ 持久队列
【发布时间】:2018-10-01 12:00:12
【问题描述】:

我在他们的网站上阅读了 RabbitMQ 的文档,遇到了两个似乎在做同样事情的术语——“Durable Queues”和“Disk Node”。根据文档,如果我创建一个磁盘节点,除了消息、消息存储索引、队列索引和其他节点状态(不确定其他节点状态是什么)之外的所有数据。 那么,如果我将我的节点设为Disk Node,我是否还需要将我的队列标记为durable 才能在代理重启后继续存在?

durable exchanges 也有同样的问题。

【问题讨论】:

    标签: rabbitmq


    【解决方案1】:

    磁盘节点和持久队列是 RabbitMQ 中的两个不同概念。

    RabbitMQ 在特定的mnesia 表中维护某些内部信息(例如用户、密码、虚拟主机等)。磁盘节点将这些表存储在磁盘上。正如related documentation 所说:

    这不包括消息、消息存储索引、队列索引和其他节点状态。

    为确保交换、队列或消息的持久性/持久性,您需要在声明/发布它们时明确声明。

    【讨论】: