RabbitMq:有没有办法在集群环境中的所有虚拟主机上应用策略进行队列镜像?

时间:2016-07-27 11:23:19

标签: rabbitmq rabbitmq-exchange rabbitmqctl

在RabbitMQ中,

如果我想在群集环境中镜像队列,请使用以下命令:

rabbitmqctl set_policy ha-all "" '{"ha-mode":"all","ha-sync-mode":"automatic"}'

此命令将策略应用于虚拟主机"\"的所有队列。

如果我必须为特定虚拟主机应用策略,请说" foo"我用:

rabbitmqctl set_policy -p "foo" ha-all "" '{"ha-mode":"all","ha-sync-mode":"automatic"}'

问题:

是否有办法在群集环境中的所有虚拟主机上应用策略以进行队列镜像?

1 个答案:

答案 0 :(得分:1)

如果您在* nix环境中运行,则以下操作

rabbitmqctl list_vhosts | while read line ; do rabbitmqctl set_policy -p "$line" ha-all "" '{"ha-mode":"all","ha-sync-mode":"automatic"}'; done

这会将输出的每一行都输入到rabbitmqctrl命令中。