如何设置在主节点发生故障时可以工作的镜像队列?

时间:2019-09-11 15:28:22

标签: rabbitmq

在我的开发环境中,我有两个rabbitmq服务器的集群,我想这样做,以便当原始主服务器出现故障时,队列和所有消息都将可用。

我在具有以下属性的持久交换上创建了一个持久队列:

ha-mode:全部

ha-sync-mode:自动

x-queue-master-locator:最小大师

我还向队列发布了一条持久消息。 当我关闭作为队列主服务器的主机时,状态将变为关闭。我希望ha-mode都能将队列及其消息复制到所有节点,ha-sync-mode可以使节点保持同步,并且x-queue-master-locator可以将队列移到另一个节点或在生产中到队列最少的节点。如何设置队列以实现此目的?

编辑(更多信息):

服务器信息:

rmq:3.7.17

Erlang:22.0.7

两个节点的我的配置:

vm_memory_high_watermark.relative = 0.65

vm_memory_high_watermark_paging_ratio = 0.8

disk_free_limit.relative = 2.0

channel_max = 32

num_acceptors.tcp = 20

num_acceptors.ssl = 0

handshake_timeout = 10000

frame_max = 160000

mirroring_sync_batch_size = 1024

background_gc_enabled = true

background_gc_target_interval = 300000

1 个答案:

答案 0 :(得分:1)

当您使用它们创建队列时,这些属性没有任何意义。您需要创建一个将这些属性添加到队列的策略。