镜像队列,允许集群将队列镜像到其他节点上,当集群某一节点宕机后,队列能自动切换到镜像中的其他节点,保证服务的可用性。
如果您需要了解RabbitMQ Web UI相关功能和概念,请自行查阅RabbitMQ官网。本章节仅介绍登录RabbitMQ实例的Web页面设置镜像队列的操作步骤。
操作步骤
步骤 1 登录RabbitMQ实例的Web UI。
步骤 2 在菜单栏,选择“Admin”。
图1 选择Admin菜单
步骤3 (可选)选择右侧导航栏“Virtual Hosts”,然后输入“Name”,单击“Add virtual host”,创建Vhost。
如果您需要设置指定Vhost,请执行本步骤;如果不需要,请直接执行步骤4。
图2 创建Vhost
步骤 4 选择右侧导航栏“Policies”,为Vhost设置规则。
如果为指定的Vhost设置,请在“Virtual Host”选择步骤3创建的Vhost;如果没有,则默认为“/”。
图3 设置Vhost规则
参数解释如下:
- Name: policy的名称,用户自定义。
- Pattern: queue的匹配模式(正则表达式)。
- Definition: 镜像定义,包括三个部分ha-sync-mode、ha-mode、ha-params。
- ha-sync-mode: 表示镜像队列中消息的同步方式,有效取值范围为:automatic和manually。
- automatic:表示自动向master同步数据。
- manually:表示手动向master同步数据。
- ha-mode: 指明镜像队列的模式,有效取值范围为:all、exactly和nodes。
- all:表示在集群所有的节点上进行镜像。
- exactly:表示在指定个数的节点上进行镜像,节点的个数由ha-params指定。
- nodes:表示在指定的节点上进行镜像,节点名称通过ha-params指定。
- ha-params: ha-mode模式需要用到的参数。
- ha-sync-mode: 表示镜像队列中消息的同步方式,有效取值范围为:automatic和manually。
- Priority: 可选参数,policy的优先级。
步骤 5 单击“Add policy”。
规则添加成功后如图4所示。
图4 Vhost规则