【rabbitMQ】rabbitMQ镜像策略set_policy
2022-12-29 本文已影响0人
Bogon
语法:
#设置
rabbitmqctl set_policy [-p <vhost>] [--priority <priority>] [--apply-to <apply-to>] <name> <pattern> <definition>
#清除
rabbitmqctl clear_policy [-p <vhost>] <name>
#查看
rabbitmqctl list_policies [-p <vhost>]
-p:指定虚拟机,如:/
--priority:指定优先级
--apply-to:指定该 Policy 的应用范围,如:同时应用到交换器和队列
name:指定 Policy 的名称
pattern:指定 Policy 匹配交换器或队列的正则表达式,如: ^policy.+
definition:指定属性,如:message-ttl 等
示例:
##set_policy
rabbitmqctl set_policy -p vh_test ha "^" '{"ha-mode":"all","ha-sync-mode":"automatic"}'
Setting policy "ha" for pattern "^" to "{\"ha-mode\":\"all\",\"ha-sync-mode\":\"automatic\"}" with priority "0"
##list_policies
rabbitmqctl list_policies -p vh_test
Listing policies
vh_test ha all ^ {"ha-mode":"all","ha-sync-mode":"automatic"} 0
rabbitmqctl list_policies
Listing policies ...
/ ha-all all ^ {"ha-mode":"all"} 0
##clear_policy
rabbitmqctl clear_policy -p vh_test ha
Clearing policy "ha"
为用户赋权:
rabbitmqctl set_permissions -p /vhost user_admin '.' '.' '.*'
该命令使用户user_admin具有/vhost这个virtual host中所有资源的配置、写、读权限以便管理其中的资源。
ha-mode:策略键
1.all 队列镜像在群集中的所有节点上。当新节点添加到群集时,队列将镜像到该节点
2.exactly 集群中的队列实例数。
3.nodes 队列镜像到节点名称中列出的节点。
ha-sync-mode:队列同步
1.manual手动<默认模式>.新的队列镜像将不会收到现有的消息,它只会接收新的消息。
2.automatic自动同步.当一个新镜像加入时,队列会自动同步。队列同步是一个阻塞操作。