rabbitMQ数据隔离
用户管理
点击Admin选项卡,就会呈现rabbitMQ控制台的用户管理界面
- Name:sde,也就是用户名
- Tags:administrator,说明sde用户是超级管理员,拥有所有权限
- Can access virtual host: /,可以访问的virtual host,这里的/是默认的virtual host
对于中小型企业而言,我们通常只会搭建一套MQ集群,公司内多个不同的项目同时使用。为了避免各个项目的互相干扰,我们会利用virtual host的隔离特性,将不同项目进行隔离。一般要做的就是两件事。
- 给每个项目创建独立的运维账号,将管理权限分离。
- 给每个项目创建不同的virtual host,将每个项目的数据隔离。
比如给我们今天学习的案例创建一个新的用户名,命名为sundaoen,密码:123
创建新用户
你会发现此时hmall用户没有任何Virtual host的访问权限:
不用着急,接下类我们就慢慢授权。
Virtual host 虚拟主机
我们先退出登录
切换到刚刚创建的sundaoen用户登录,密码为123,然后点击Virtual Hosts菜单,进入virtual host管理页:
可以看到目前只有一个默认的virtual host,名字为 /。
我们可以给案例项目创建一个单独的virtual host,而不是使用默认的/;新建起名为 /sde
创建完成后如图:
由于我们是登录hmall账户后创建的virtual host,因此回到users菜单,你会发现当前用户已经具备了对/sde这个virtual host的访问权限了:
此时,点击页面右上角的virtual host下拉菜单,切换virtual host为 /sde:
然后再次查看queues选项卡,会发现之前的队列已经看不到了:
这就是基于virtual host的隔离效果。