更新时间:2025-08-21 GMT+08:00
分享

创建RabbitMQ Vhost

每个Vhost(Virtual Hosts)相当于一个相对独立的RabbitMQ服务器。Vhost用作逻辑隔离,分别管理Exchange、Queue和Binding,使得应用安全地运行在不同的Vhost上,相互之间不会干扰。一个实例下可以有多个Vhost,一个Vhost里可以有若干个Exchange和Queue。生产者和消费者连接RabbitMQ实例时,需要指定一个Vhost。Vhost的相关介绍,请参考官网文档Virtual Hosts

图1 Vhost架构图

约束与限制

表1 约束限制

版本号

约束限制

3.x.x

  • 实例创建后,会自动创建一个名为“/”的Vhost。
  • Vhost名称以特殊字符开头,例如点号“.”,可能会导致监控数据无法显示。Vhost名称包含特殊字符,例如“%”、“|”、“/”,会导致Vhost名称与监控页面不一致,在监控页面中特殊字符会以“_”显示。例如:Vhost名称为Vhost.1%1|2_3/,此时监控中显示的Vhost名为“Vhost.1_1_2_3_”。
  • 在云监控中特殊字符“.”按5个字符计算长度。如果队列名称或Vhost名称包含“.”,且经此规则计算后的总长度超过256个字符,可能会导致监控数据无法显示。
  • 支持通过控制台和WebUI创建Vhost。

AMQP-0-9-1

  • 实例创建后,会自动创建一个名为“default”的Vhost。
  • Vhost名称包含特殊字符,例如“%”、“|”、“/”、“.”,会导致Vhost名称与监控页面不一致,在监控页面中特殊字符会以“_”显示。例如:Vhost名称为Vhost.1%1|2_3/,此时监控中显示的Vhost名为“Vhost_1_1_2_3_”。
  • 仅支持在控制台创建Vhost。

创建RabbitMQ Vhost

您可以在控制台创建Vhost,也可以在WebUI创建Vhost。

  1. 登录RabbitMQ控制台
  2. 在管理控制台左上角单击,选择RabbitMQ实例所在的区域。
  3. 单击实例名称,进入实例详情页面。
  4. 在左侧导航栏选择“实例管理 > Vhost列表”,进入Vhost列表页面。
  5. 单击“创建Vhost”,弹出“创建Vhost”对话框。
  6. 设置Vhost的名称,单击“确定”。

    表2 Vhost名称规则

    版本号

    Vhost名称规则

    3.x.x

    只能由英文字母、数字、点、百分号、竖线、中划线、下划线、斜杆组成,长度2~128字符。

    AMQP-0-9-1

    只能由英文字母、数字、点、百分号、竖线、中划线、下划线、斜杆组成,长度2~32字符(每个特殊字符按3个字符计算长度)。

    Vhost创建成功后,无法修改名称,在Vhost列表页面显示创建成功的Vhost。

    “Tracing”表示是否开启消息追踪功能,仅RabbitMQ 3.x.x版本支持。开启消息追踪后,您可以跟踪消息的转发路径。
    图2 Vhost列表(RabbitMQ 3.x.x版本)
    图3 Vhost列表(RabbitMQ AMQP-0-9-1版本)

  1. 登录RabbitMQ WebUI
  2. 在顶部导航栏选择“Admin”,进入Admin页面。
  3. 在右侧导航栏选择“Virtual Hosts”,进入Virtual Hosts页面。

    图4 Virtual Hosts

  4. 在“Add a new virtual host”区域,输入Vhost名称,单击“Add virtual host”。

    图5 创建Vhost(WebUI)

    创建成功后,在“All virtual hosts”区域,显示创建成功的Vhost。

    图6 Vhost列表(WebUI)

相关文档

如果您希望通过API创建Vhost,请参考创建Vhost

相关文档