RabbitMQ-理解消息通信-虚拟主机和隔离

每个RabbitMQ服务器都能创建虚拟的消息服务器,我们称之为虚拟主机(vhost)每一个vhost本质上是一个mini版的RabbitMQ服务器,拥有自己的队列、交换器和绑定等等

欢迎访问本人博客查看原文:http://wangnan.tech

多租户模式:虚拟主机和隔离

概述

  • 每个RabbitMQ服务器都能创建虚拟的消息服务器,我们称之为虚拟主机(vhost)每一个vhost本质上是一个mini版的RabbitMQ服务器,拥有自己的队列、交换器和绑定等等
  • 更重要的是,他拥有自己的权限机制这使得你能够安全地使用一个RabbitMQ服务器来服务众多的应用程序
  • vhost就像是虚拟机之与物理服务器一样:他们在各个实例间提供逻辑上的分离,允许你为不同程序安全保密地运行数据,它既能将同一个Rabbit的众多客户区分开来,又可以避免队列和交换器命名冲突
  • vhost是AMQP概念的基础,你必须在连接时进行指定
  • RabbitMQ包含了一个开箱即用的默认vhost:”/“,如果你不需要多个vhost,那么就使用默认的吧,使用缺省的guest用户名和密码guest就可以访问默认的vhost
  • 当你在RabbitMQ集群上创建vhost,整个集群上都会创建该vhost,vhost不仅消除了为基础架构中的每一层运行一个RabbitMQ服务器的需要,同样也避免了为每一层创建不同集群

如何创建vhost

vhost和权限控制非常独特,他们是AMQP中唯一无法通过AMQP协议的基元(不同与队列,交换器和绑定)

创建vhost

你需要通过RabbitMQ的安装路径下的./sbin/目录中的rabbitmqctl工具来创建

运行:

     
     
1
     
     
rabbitmqctl add_vhost[vhost_name]

可以创建一个vhost,其中[vhost_name]就是你想要创建的vhost

删除vhost

     
     
1
     
     
rabbitmqctl delete_vhost[vhsost_name]

查看Rabbit服务器上运行着那些vhost

     
     
1
     
     
rabbitmqctl list_vhost

你就会看到如下所示的内容

     
     
1
2
3
4
5
6
     
     
$ ./sbin/rabbitmqctl list_vhosts
Listing vhosts ...
/
oak
sycamore
...done.

管理远程RabbitMQ节点

     
     
1
     
     
-n rabbit@[server_name]

rabbit表示Erlang应用程序名称
[server_name]表示ip

(注:内容整理自《RabbitMQ实战》)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值