RabbitMQ - 使用存储快照进行备份

时间:2017-02-01 06:38:41

标签: rabbitmq

我在一台主机上一起运行多个服务的系统,我想使用LVM快照(或类似)进行备份。
其中一项服务是 RabbitMQ 由于RabbitMQ的消息可能在内存中并且永远不会到达磁盘,因此我想在备份之前将它们刷新到磁盘,并且可能会锁定服务以使快照运行。
这是一个合理的场景吗? RabbitMQ是否支持这样的流程?

我知道management plugin,但这不符合快照相同"时间点"的策略。对于整个系统...
我看到很多讨论,但没有一个讨论存储快照。

想法?

1 个答案:

答案 0 :(得分:1)

备份的最佳方法是使用rabbitmq stop_app停止rabbitmq应用程序。

但如果您在停止RMQ时使用not persistent消息,则会丢失消息。

如果您需要备份消息,则应始终使用持久消息以及大量消息的延迟队列,然后stop_app和备份。

通过这种方式,您可以将所有邮件刷新到磁盘,并且可以备份mnesia目录。

在我个人看来,备份RMQ消息没有意义,我使用镜像队列而不是备份。