配置RabbitMQ镜像队列
镜像队列是指允许集群将队列镜像到其他节点上,当集群某一节点宕机后,队列能自动切换到镜像中的其他节点,保证服务的可用性。
本章节指导如何在RabbitMQ WebUI为Vhost配置镜像队列策略,满足策略条件的队列将成为镜像队列。
RabbitMQ AMQP-0-9-1版本不支持镜像队列。
前提条件
已创建集群版RabbitMQ实例。
配置RabbitMQ镜像队列
- 登录RabbitMQ实例的Web UI。
- 在菜单栏,选择“Admin”。
图1 选择Admin菜单
- (可选)如果您需要设置指定Vhost,请执行本步骤;如果不需要,请直接执行4。
选择右侧导航栏“Virtual Hosts”,然后输入“Name”,单击“Add virtual host”,创建Vhost。图2 创建Vhost
- 选择右侧导航栏“Policies”,为Vhost设置策略。
图3 设置Vhost策略
表1 策略参数说明 参数
说明
Virtual Host
设置策略所应用的Vhost。如果为指定的Vhost设置,请在“Virtual Host”选择3创建的Vhost;如果没有,则默认为“/”。
Name
策略的名称,用户自定义。
Pattern
Queue的匹配模式(正则表达式)。
Apply to
策略所适用的目标。
Priority
策略的优先级,数字越大,优先级越高。
Definition
镜像定义,包括三个部分ha-sync-mode、ha-mode、ha-params。
- ha-sync-mode: 表示镜像队列中消息的同步方式,有效取值范围为:automatic和manual。
- automatic:表示自动向master同步数据。
- manual:表示手动向master同步数据。
- ha-mode: 指明镜像队列的模式,有效取值范围为:all、exactly和nodes。
- all:表示在集群所有的节点上进行镜像。
- exactly:表示在指定个数的节点上进行镜像,节点的个数由ha-params指定。
- nodes:表示在指定的节点上进行镜像,节点名称通过ha-params指定。
- ha-params: ha-mode模式需要用到的参数。
- ha-sync-mode: 表示镜像队列中消息的同步方式,有效取值范围为:automatic和manual。
- 单击“Add policy”。
策略添加成功后如下图所示。
图4 Vhost策略