RabbitMQ数据隔离
# 2.3.数据隔离
# 2.3.1.用户管理
点击Admin选项卡,首先会看到RabbitMQ控制台的用户管理界面:

这里的用户都是RabbitMQ的管理或运维人员。目前只有安装RabbitMQ时添加的admin这个用户。仔细观察用户表格中的字段,如下:
Name:admin,也就是用户名Tags:administrator,说明admin用户是超级管理员,拥有所有权限Can access virtual host:/,可以访问的virtual host,这里的/是默认的virtual host
对于小型企业而言,出于成本考虑,我们通常只会搭建一套MQ集群,公司内的多个不同项目同时使用。这个时候为了避免互相干扰, 我们会利用virtual host的隔离特性,将不同项目隔离。一般会做两件事情:
- 给每个项目创建独立的运维账号,将管理权限分离。
- 给每个项目创建不同的
virtual host,将每个项目的数据隔离。
比如,我们给商城创建一个新的用户,命名为mall:

你会发现此时mall用户没有任何virtual host的访问权限:

别急,接下来我们就来授权
# 2.3.2.virtual host
我们先退出登录:
切换到刚刚创建的mall用户登录,然后点击Virtual Hosts菜单,进入virtual host管理页:

可以看到目前只有一个默认的virtual host,名字为 /。
我们可以给商城项目创建一个单独的virtual host,而不是使用默认的/。

由于我们是登录mall账户后创建的virtual host,因此回到users菜单,你会发现当前用户已经具备了对/mall这个virtual host的访问权限了:

此时,点击页面右上角的virtual host下拉菜单,切换virtual host为 /mall:

然后再次查看queues选项卡,会发现之前的队列已经看不到了:

这就是基于virtual host的隔离效果。
Last Updated: 2026/04/01, 17:19:37