rabbitMQ中的Vhost理解、创建和使用
一、Vhost的概念以及作用:
每一个RabbitMQ服务器都能创建虚拟消息服务器,我们称之为虚拟主机。每一个vhost本质上是一个mini版的RabbitMQ服务器,拥有自己的交换机、队列、绑定等,拥有自己的权限机制。vhost之于Rabbit就像虚拟机之于物理机一样。他们通过在各个实例间提供逻辑上分离,允许为不同的应用程序安全保密的运行数据,这很有,它既能将同一个Rabbit的众多客户区分开来,又可以避免队列和交换器的命名冲突。RabbitMQ提供了开箱即用的默认的虚拟主机“/”,如果不需要多个vhost可以直接使用这个默认的vhost,通过使用缺省的guest用户名和guest密码来访问默认的vhost。vhost之间是相互独立的,这避免了各种命名的冲突,就像App中的沙盒的概念一样,每个沙盒是相互独立的,且只能访问自己的沙盒,以保证非法访问别的沙盒带来的安全隐患。
二、Vhost的创建和使用以及rabbitmq用户的创建
1)首先在admin->virtual Host添加一新的Vhost
2)添加成功如图所示
3)新建一个用户root
4)你会发现这个新建的用户是没有任何虚拟机的权限的包括也没有默认虚拟机“/”的权限
5)使用的时候会报错
6)给root用户赋Vhost的权限,并在程序配置文件yml中指定哪个虚拟机,即可正常使用