队列可以持久化吗

Can queues be persistent

带有 RabbitMQ 的 MassTransit 文档指出:

control queues are exclusive and auto-delete - they go away when you go away and are not shared.

我不清楚这里的后果;在我的系统中,我需要持久的队列和持久的消息。如果我需要关闭消费者进程(例如更新)或者如果我需要重新启动服务器(例如 Windows 打补丁),我希望现有队列保持不变并且不丢失任何当前消息,所以一旦一切都恢复到位,处理就可以继续,而不会丢失已发布的消息。如果没有消费者可用,我希望发布的消息能够累积,直到我让消费者​​重新上线。

在 RabbitMQ 中,我可以将队列配置为持久化,并将消息配置为持久化。如果使用 MassTransit,这可能吗?

或者 "control queues" 响应控制消息的队列是否与我的应用程序的队列无关?

控制队列仅用于元数据,而不是应用程序的数据。您可以安全地忽略它们。默认情况下,您的主数据队列是持久的。