简介

RabbitMQ是一个多租户系统,connetions、exchange、queues、bindings、user permissions、policies和其它一些属于虚拟主机的东西;

Virtual vhost

虚拟主机(vhost)提供逻辑分组和资源分离。每一个vhost本质上是一个mini版的RabbitMQ服务器,拥有自己的connection、exchange、queue、binding等,拥有自己的权限。vhost之于RabbitMQ就像虚拟机于物理机一样,他们通过在各个实例间提供逻辑上分离,允许为不同的应用程序安全保密的运行数据。

vhost和客户端连接

vhost主机具有名称,当AMQP 0-9-1客户端连接到RabbitMQ时,它将指定要连接的虚拟主机名称。如果身份验证成功并且提供的用户名被授予了对虚拟主机的权限,则建立连接。

与虚拟主机的连接只能在该虚拟主机中的交换器、队列、绑定等上运行。仅当应用程序同时连接到两个虚拟主机时,才可能在不同的虚拟主机中进行队列和交换器的“互联”。例如:一个应用程序可以从一个虚拟主机中获取数据,然后发送到另外一个虚拟主机。

CLI工具创建虚拟主机
  • 列举所有虚拟主机
 rabbitmqctl list_vhosts
  • 添加虚拟主机
rabbitmqctl add_vhost <vhost_name>
  • 删除虚拟主机
rabbitmqctl delete_vhost <vhost_name>
  • 添加用户
rabbitmqctl add_user <username> <password>
  • 设置用户标签
rabbitmqctl set_user_tags <username> <tag>
  1. management:用户可以访问管理插件
  2. policymaker:用户可以访问管理插件,并管理它们有权访问的vhost的策略和参数
  3. monitoring:用户可以访问管理插件,查看所有连接和通道以及与节点相关的信息
  4. administrator:用户可以执行monitoring可以执行的所有操作,管理用户、vhosts和权限,关闭其它用户的连接,以及管理所有vhosts的策略和参数。
  • 设置用户权限
rabbitmqctl set_permissions [-p <vhost>] <user> <conf> <write> <read>

权限设置包括:配置(队列和交换器的创建和删除)、写(发布消息)、读(有关消息的任何操作,包括清除这个队列);

  1. conf:一个正则表达式match哪些配置资源能够被该用户访问。
  2. write:一个正则表达式match哪些配置资源能够被该用户读。
  3. read:一个正则表达式match哪些配置资源能够被该用户访问 。
  • 查看用户列表
rabbitmqctl list_users
删除用户
rabbitmqctl delete_user Username
修改用户密码
rabbitmqctl change_password Username Newpassword
配置最大连接限制

要限制vhost为vhost_name的并发客户端连接总数,请使用一下限制定义:

rabbitmqctl set_vhost_limits -p vhost_name '{"max-connections": 256}'

要禁用客户端与虚拟主机的连接,请将限制设置为零:

rabbitmqctl set_vhost_limits -p vhost_name '{"max-connections": 0}'

要取消限制,请将其设置为负值:

rabbitmqctl set_vhost_limits -p vhost_name '{"max-connections": -1}'
配置最大队列数

要限制vhost为vhost_name的队列总数,请使用以下限制:

rabbitmqctl set_vhost_limits -p vhost_name '{"max-queues": 1024}

要取消限制,请将其设置为:

rabbitmqctl set_vhost_limits -p vhost_name '{"max-queues": -1}'

GitHub地址:https://github.com/mingyang66/spring-parent

RabbitMQ学习笔记:虚拟主机(Virtual Hosts)相关推荐

  1. USB协议学习笔记 - 虚拟串口Virtual Port Com LED控制

    前言 STM32 的USB 可以虚拟成一个串口,功能还挺强,感觉比HID好用 这里使用USB 虚拟的串口,做个控制LED的小程序 控制LED这里使用自定义的AT命令方式,如红灯亮:AT+LEDR_ON ...

  2. USB协议学习笔记 - 虚拟串口Virtual Port Com用于LOG打印

    前言 上一篇讲了STM32 USB 虚拟串口的功能实现,可以通过STM32输出信息到PC端 这篇简单的做个应用:打印LOG(日志)信息到虚拟串口 操作方法 基于上篇的STM32 USB Virtual ...

  3. RabbitMQ 学习笔记

    RabbitMQ 学习笔记 RabbitMQ 学习笔记 1. 中间件 1.1 什么是中间件 1.2 为什么要使用消息中间件 1.3 中间件特点 1.4 在项目中什么时候使用中间件技术 2. 中间件技术 ...

  4. Rabbitmq学习笔记(尚硅谷2021)

    Rabbitmq学习笔记 (尚硅谷) 1.MQ 的概念 1.1 什么是 MQ? 1.2 为什么要用 MQ? 削峰 解耦 异步 1.3 MQ 的分类 ActiveMQ Kafka RocketMQ Ra ...

  5. Rabbitmq学习笔记教程-尚硅谷

    Rabbitmq学习笔记 (尚硅谷) 尚硅谷 rabbitmq 教程 1.MQ 的概念 1.1 什么是 MQ? 存放消息的队列,互联网架构中常见的一种服务与服务之间通信的方式. 1.2 为什么要用 M ...

  6. 虚拟主机 (Virtual Host)

    虚拟主机 (Virtual Host) 是在同一台机器搭建属于不同域名或者基于不同 IP 的多个网站服务的技术. 可以为运行在同一物理机器上的各个网站指配不同的 IP 和端口, 也可让多个网站拥有不同 ...

  7. RabbitMQ学习笔记四:RabbitMQ命令(附疑难问题解决)

    RabbitMQ学习笔记四:RabbitMQ命令(附疑难问题解决) 参考文章: (1)RabbitMQ学习笔记四:RabbitMQ命令(附疑难问题解决) (2)https://www.cnblogs. ...

  8. RabbitMQ学习笔记(3)----RabbitMQ Worker的使用

    1. Woker队列结构图 这里表示一个生产者生产了消息发送到队列中,但是确有两个消费者在消费同一个队列中的消息. 2. 创建一个生产者 Producer如下: package com.wangx.r ...

  9. RabbitMQ学习笔记(高级篇)

    RabbitMQ学习笔记(高级篇) 文章目录 RabbitMQ学习笔记(高级篇) RabbitMQ的高级特性 消息的可靠投递 生产者确认 -- confirm确认模式 生产者确认 -- return确 ...

  10. rabbitmq学习笔记2 : 添加用户和virtual hosts

    一.通过web界面管理工具进行配置 1.通过rabbitmq-plugins enable rabbitmq_management,开启web界面管理工具(见笔记1) 2.在浏览器输入http://l ...

最新文章

  1. vc2010解决方案项目编译顺序_科学网—VS2012 (2008,2010) 编译问题解决合集 - 冯博远的博文...
  2. redis启动后 允许访问_解决Redis开启远程访问及密码问题
  3. JAVA中的GridView每一个赋值,在ASP.NET 2.0中操作数据之六十二:GridView批量更新数据...
  4. OpenCV调用YOLOv4进行目标检测
  5. 从事前端多年,我是这样看待三大框架的
  6. Linux 命令(83)—— groups 命令
  7. vue3中套用echarts官网例子
  8. 线性和EWMA指数加权移动平均模型
  9. 核心期刊与统计源期刊
  10. 2.1 对称密钥的生成及以对象序列化方式保存
  11. 2021年全球探针卡市场规模大约为158亿元(人民币),预计2028年将达到247亿元
  12. 9527风先生的文章《Ubuntu20.04配置ORBSLAM2并运行》 :验证是能走通的
  13. 百度EasyDL实体抽取和关系抽取
  14. 常见安全漏洞及其解决方案
  15. 3D打印成型技术:看得见摸得着的真实
  16. 大数相减(解析国密sm2_bn_sub算法与自定义算法)
  17. VirtualBox下Ubuntu 20.04全屏显示
  18. 一起来看流星雨剧情简介/剧情介绍/剧情分集介绍第十四集
  19. 豪斯曼检验matlab,面板工具变量与内生性操作及应用(固定随机、豪斯曼检验、过度识别检验、预测等)...
  20. 解决Windows10/11系统DWcc2021安装失败打不开问题 Adobe Dreamweaver CC2021详细安装教程

热门文章

  1. unbuntu 安装vscode
  2. python汇率兑换_Python入门案例(一):汇率兑换
  3. inno setup 水波纹效果,检测安装vcredist_x86.exe等
  4. 科大讯飞python 思维导图
  5. 领导力【管理学之五】
  6. 每日启程——2019年12月10日(敏不有初,鲜克以终)
  7. EOJ 1224 简单迷宫问题 bfs
  8. PyCharm 新建 Python Package
  9. Ubuntu下载anaconda教程(全过程)
  10. Python tkinter改变光标样式