【发布时间】:2019-06-25 00:21:17
【问题描述】:
对于我们的系统,我们将重要消息标记为传递模式 = 2,并通过持久交换和队列发送它们。问题是 rabbitmq 托管在 docker 容器上,如果该容器出现故障,则在容器重新启动时,已持久化的消息会丢失。
我想知道是否有一种方法可以将消息持久性的位置更改为已安装的卷而不是容器支持的磁盘,如果可以,如何。我目前也无法弄清楚消息现在实际保存在哪里,因此寻找配置绝对是一个开始,我只是不确定这是在哪里设置的,因为我找不到任何与 mnesia 相关的东西,这似乎成为某些人的默认值。对位置的这种更改可能是在运行时也可能不是,这对我来说并不重要。
另外寻求帮助,请记住,所有这一切对我来说都是非常新的,所以我不是最了解这个系统如何在其所有荣耀中运作的知识,所以简单的解释将比那些有不必要的复杂解决方案的人。让我知道我是否可以提供任何其他有用的信息。
【问题讨论】:
-
所以我在该页面上阅读了相当多的内容,我觉得将容器安装到卷将有助于解决问题,我只是无法弄清楚如何实际这样做。我目前是同时启动所有微服务,只需要将一个消息队列服务挂载到一个卷上。你知道如何在启动容器后挂载卷,还是只能在启动时完成?
标签: docker rabbitmq containers messaging persist