操作场景
每个Vhost(Virtual Hosts)相当于一个相对独立的RabbitMQ服务器。Vhost用作逻辑隔离,分别管理Exchange、Queue和Binding,使得应用安全地运行在不同的Vhost上,相互之间不会干扰。一个实例下可以有多个Vhost,一个Vhost里可以有若干个Exchange和Queue。生产者和消费者连接RabbitMQ实例时,需要指定一个Vhost。Vhost的相关介绍,请参考官网文档Virtual Hosts。
本章节主要介绍创建Vhost的操作,有以下几种方式,您可以根据实际情况选择任意一种方式:
- 方式一:在控制台创建
- 方式二:使用RabbitMQ WebUI创建
- 方式三:调用API创建
方式一:在控制台创建
步骤 1 登录管理控制台。
步骤 2 在管理控制台右上角单击,选择区域。
说明此处请选择RabbitMQ实例所在的区域。
步骤 3 在管理控制台左上角单击,选择“企业中间件”->“分布式消息服务”->“RabbitMQ专享版”,进入分布式消息服务RabbitMQ专享版页面。
步骤 4 单击实例名称,进入实例详情页面。
步骤 5 在左侧导航栏选择“Vhost列表”,进入Vhost列表页面。
步骤 6 单击“创建Vhost”,弹出“创建Vhost”对话框。
步骤 7 设置Vhost的名称,单击“确定”。
创建成功后,在Vhost列表页面显示创建成功的Vhost。
图1 Vhost列表(控制台)
“tracing”表示是否开启消息追踪功能。开启消息追踪后,您可以跟踪消息的转发路径。
说明
Vhost创建成功后,无法修改名称。
实例创建后,会自动创建一个名为“/”的Vhost。
方式二:使用RabbitMQ WebUI创建
步骤 1 登录RabbitMQ WebUI。
步骤 2 在顶部导航栏选择“Admin”,进入Admin页面。
步骤 3 在右侧导航栏选择“Virtual Hosts”,进入Virtual Hosts页面。
图2 Virtual Hosts
步骤 4 在“Add a new virtual host”区域,输入Vhost名称,单击“Add virtual host”。
图3 创建Vhost(WebUI)
创建成功后,在“All virtual hosts”区域,显示创建成功的Vhost。
图4 Vhost列表(WebUI)
方式三:调用API创建
步骤 1 在Linux中,连接RabbitMQ实例。
步骤 2 执行以下命令,创建Vhost。
curl -i -X PUT http://${USERNAME}:${PASSWORD}@${HOST}:${PORT}/api/vhosts/${VHOST_NAME}
参数说明如下:
- USERNAME:创建RabbitMQ实例时,设置的用户名。在实例详情页的“连接信息”区域,查看用户名。
- PASSWORD:创建RabbitMQ实例时,设置的密码。如果忘记密码,参考重置实例密码,重新设置密码。
- HOST:WebUI的地址。在实例详情页的“连接信息”区域,查看Web界面UI地址。
- PORT:WebUI的端口号。在实例详情页的“连接信息”区域,查看Web界面UI地址中的端口号。
- VHOST_NAME:待创建Vhost的名称。
示例如下:
curl -i -X PUT http://root:txxxt@192.168.1.3:15672/api/vhosts/vhost-demo
创建成功后,回显如图5所示。
图5 Vhost创建成功