RabbitMQ中的主从

RabbitMQ中的主从,rabbitmq,cluster-computing,Rabbitmq,Cluster Computing,我们如何使用RabbitMQ服务器实现主从配置。 我在很多地方读过书,我自己也经历过 集群下的RabbitMQ节点除了cookie文件外,不能真正共享相同的文件。脚本本身确保在启动代理时创建以$NODE_ID$为前缀的文件夹和文件名,以便在单个文件夹中创建该节点的所有文件。它基本上在文件夹中创建两个主文件夹,并执行以下操作: A.db:创建名为$NODE_ID$-mnesia的文件夹,并在其中创建所有db文件。 B日志:创建名称前缀为$NODE_ID的文件$ 即使我们调整两个节点的脚本以指向同一

我们如何使用RabbitMQ服务器实现主从配置。 我在很多地方读过书,我自己也经历过

集群下的RabbitMQ节点除了cookie文件外,不能真正共享相同的文件。脚本本身确保在启动代理时创建以$NODE_ID$为前缀的文件夹和文件名,以便在单个文件夹中创建该节点的所有文件。它基本上在文件夹中创建两个主文件夹,并执行以下操作: A.db:创建名为$NODE_ID$-mnesia的文件夹,并在其中创建所有db文件。 B日志:创建名称前缀为$NODE_ID的文件$ 即使我们调整两个节点的脚本以指向同一个mnesia文件夹,代理的第二个实例也将无法启动,因为mnesia锁定问题导致以下错误:

{"init terminating in do_boot",
{{nocatch,{error,{cannot_start_application,mnesia,{killed,{mnesia_sup,start,[normal,[]]}}}}},[{init,start_it,1},{init,start_em,1}]}} 
Crash dump was written to: erl_crash.dump init terminating in do_boot ()".

我想知道的是,如果集群中有两个节点“主节点”和“从节点”,并且如果主节点停机一段时间,那么在这段时间内,从节点如何代表主节点接收和发送消息。因为无法共享数据库。

请查看使用DRDB和Pacemaker构建高可用群集的指南:

但是,设置起来有点困难,因此您可能更愿意再等几周,因为下一个主要版本将包括内置的对集群冗余队列的支持。有关更多信息,请参见附件:


谢谢你的链接。我已经看到了这个链接,但是我没有太多时间来实现整个起搏器的东西。我想可能还有别的办法。无论如何,谢谢你的答复;