RabbitMQ : Is there a way to apply policy on all virtual host in cluster environment for queue mirroring?

标签 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"}'

题 :

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

最佳答案

如果您在 *nix 环境中运行,以下应该可以工作

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

这会将输出的每一行通过管道传输到您的 rabbitmqctrl 命令中。

关于RabbitMQ : Is there a way to apply policy on all virtual host in cluster environment for queue mirroring?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38611583/

相关文章:

java - 多线程环境中 RabbitMQ 的性能问题

python - Docker容器中的 celery :错误/MainProcess使用者:无法连接到redis

rabbitmq - 是否可以在交换中缓冲消息,直到至少有一个队列可用?

javascript - 在nodejs上延迟消息rabbitmq

rabbitmq - RabbitMQ监控用户需要分配的权限

python - Celery send_task 不发送任务

c# - 如何删除 RabbitMQ 交换器?

rabbitmq - 无法启动RabbitMQ : undefined function rabbitmqctl_escript:main/1

rabbitmq - 如何通过 http api 获取rabbitmq-shovel 的状态