当前位置: 首页 > news >正文

RabbitMQ:数据隔离

目录

  • 一、概述
    • 1.1 虚拟主机(vHost)
    • 1.2 应用场景
  • 二、实现方式
    • 2.1 图像化界面
    • 2.2 命令行创建


一、概述

RabbitMQ 通过 虚拟主机(Virtual Host,简称 vHost) 实现数据隔离,其核心机制与实现方式如下:

1.1 虚拟主机(vHost)

独立命名空间:每个vHost有独立的交换机(Exchange)、队列(Queue)、绑定关系(Binding)等资源,命名互不冲突。例如:vhost_A 中的队列 queue1 与 vhost_B 中的队列 queue1 是两个完全独立的对象。

权限隔离:用户需被授权访问特定 vHost 才能操作其中的资源。默认情况下,新创建的用户无任何 vHost 访问权限,需通过管理界面或 API 显式授权。

物理隔离(逻辑隔离):同一 RabbitMQ 服务器上的不同 vHost 共享物理资源(如磁盘、内存),但逻辑上完全隔离。类似 Docker 容器或虚拟机,资源独立但运行在同一宿主机上。

1.2 应用场景

多项目隔离:为不同项目分配独立 vHost,避免交换机/队列命名冲突。例如:项目 A 使用 /project_a,项目 B 使用 /project_b。

多环境隔离:为开发、测试、生产环境分配不同 vHost,确保数据互不干扰。例如:开发环境 /dev,测试环境 /test,生产环境 /prod。

注意: RabbitMQ 不支持直接跨 vHost 路由消息,需通过外部服务中转

二、实现方式

2.1 图像化界面

首先需要创建一个用户,例如mamf
在这里插入图片描述
创建完用户之后需要创建一个vHost虚拟主机
在这里插入图片描述
虚拟主机创建完成之后,可以点击虚拟主机的名称分配用户,用于配置哪些用户可以使用这个虚拟主机
在这里插入图片描述

2.2 命令行创建

创建用户

rabbitmqctl add_user 用户名 密码

创建vHost虚拟主机

rabbitmqctl add_vhost /虚拟主机名

给用户分配权限

rabbitmqctl set_permissions -p /虚拟主机名 用户名 "." "." ".*"

给用户设置标签

rabbitmqctl set_user_tags pro administrator
http://www.dtcms.com/a/337562.html

相关文章:

  • 代码随想录刷题Day36
  • 大数据时代时序数据库选型指南:深度解析与 Apache IoTDB 实践
  • 3D检测笔记:基础坐标系与标注框介绍
  • 【Langchain系列五】DbGPT——Langchain+PG构建结构化数据库智能问答系统
  • Pageable 菜教程
  • AI应用商业化加速落地 2025智能体爆发与端侧创新成增长引擎
  • BeeWorks 私有化会议系统:筑牢企业会议安全防线,赋能高效协同
  • 敏感数据加密平台设计实战:如何为你的系统打造安全“保险柜”
  • 高防IP如何实现秒级切换?
  • 技术赋能安全:智慧工地构建城市建设新防线
  • AR技术为消防救援装上“智能透视眼”
  • K8s的命名空间需要创建吗
  • 容器化 Android 开发效率:cpolar 内网穿透服务优化远程协作流程
  • Redis主从架构、哨兵模式及集群比较
  • 利用深度强化学习进行芯片布局
  • 【1:1复刻R版】python版火山图函数一键出图
  • iOS 正式包签名指南
  • 【LeetCode】15. 三数之和
  • 从财务整合到患者管理:德国医疗集团 Asklepios完成 SAP S/4HANA 全链条升级路径
  • 贪心算法(Greedy Algorithm)详解
  • 【机器学习】Macro-F1(宏平均 F1)是什么?
  • SWMM排水管网水力、水质建模及在海绵与水环境中的应用技术-模拟降雨和污染物质经过地面、排水管网、蓄水和处理
  • Jenkins启动端口修改失败查找日志
  • 音频算法工程师技能1
  • Vue2篇——第五章 Vue.js 自定义指令与插槽核心
  • 【序列晋升】:9 Service Mesh微服务通信的基础设施革命
  • 电子元器件-电容终篇:基本原理、参数解读、电路作用、分类及区别、应用场景、选型、降频及实战案例
  • Linux 系统~存储高级技术
  • C++ 中的 delete 与 default 关键字详解
  • diffusion model(1.4) 相关论文阅读清单