【问题标题】:What is the meaning of the vhost in RabbitMQ?RabbitMQ中的vhost是什么意思?
【发布时间】:2017-07-22 03:12:11
【问题描述】:

当我给rabbitmq用户设置权限时,输出vhost

[root@ha-node1 my.cnf.d]# rabbitmqctl set_permissions openstack ".*" ".*" ".*" 
Setting permissions for user "openstack" in vhost "/" ...

设置权限时vhost是什么意思,有什么作用?

【问题讨论】:

    标签: rabbitmq


    【解决方案1】:

    在 RabbitMQ 中,虚拟主机是实体的逻辑组,它们类似于 Apache 中的虚拟主机或 Nginx 中的服务器块。 虚拟主机是使用 rabbitmqctl 或 HTTP API 创建的,它们提供逻辑分组和资源分离。 每个虚拟主机都有一个名称。当 AMQP 0-9-1 客户端连接到 RabbitMQ 时,它指定要连接的虚拟主机名。 如果身份验证成功并且提供的用户名被授予对 vhost 的权限,则建立连接。

    【讨论】:

      【解决方案2】:

      让我打个比方。

      • Vhosts 之于 Rabbit 就像虚拟机之于物理服务器:Vhosts 允许您通过提供实例之间的逻辑分离来安全可靠地运行多个应用程序的数据。

      • 这对于从在同一个 Rabbit 上分离多个客户到避免队列和交换中的命名冲突等任何事情都很有用。否则你可能需要运行多个 Rabbits

      • 每个RabbitMQ 服务器都可以创建称为虚拟主机 (vhosts) 的虚拟消息代理。每一个本质上都是一个mini-RabbitMQ 服务器,拥有自己的队列、交换和绑定......等等,更重要的是,拥有自己的权限

      详情请参考:https://livebook.manning.com/book/rabbitmq-in-action/chapter-2/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-12
        • 2017-06-11
        • 2018-03-05
        • 2023-03-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多