如何更改 Windows 上的 rabbitmq 持久消息位置?

How can I change the rabbitmq persist message location on Windows?

对于我们的系统,我们用传递模式 = 2 标记重要消息,并在持久交换和队列上发送它们。问题是 rabbitmq 托管在 docker 容器上,如果该容器出现故障,则在容器重启时保存的消息将丢失。

我想知道是否有办法将消息的持久性位置更改为已安装的卷而不是容器支持的磁盘,如果可以,如何更改。我目前也无法弄清楚消息实际上被保存在哪里,所以找到配置绝对是一个开始,我只是不确定这是在哪里设置的,因为我找不到与 mnesia 相关的任何东西,而且看起来成为某些人的默认设置。这种位置更改可能在运行时发生,也可能不发生,这对我来说并不重要。

另外求助,请记住,所有这些对我来说都是全新的,所以我不是最了解这个系统如何发挥其所有荣耀的人,所以简单的解释会很有帮助比那些具有不必要的复杂解决方案的人更多。如果我可以提供任何其他有用的信息,请告诉我。

在 RabbitMQ 文档中是 right here

创建包含以下内容的 /etc/rabbitmq/rabbitmq-env.conf 文件以更改持久数据位置:

MNESIA_DIR=/path/to/mounted/volume

请注意,RABBITMQ_ 前缀对于 rabbitmq-env.conf

中定义的变量不是必需的

注意: RabbitMQ 团队监控 rabbitmq-users mailing list 并且有时只在 Whosebug 上回答问题。