RabbitMQ学习笔记:虚拟主机(Virtual Hosts)
简介
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>
- management:用户可以访问管理插件
- policymaker:用户可以访问管理插件,并管理它们有权访问的vhost的策略和参数
- monitoring:用户可以访问管理插件,查看所有连接和通道以及与节点相关的信息
- administrator:用户可以执行monitoring可以执行的所有操作,管理用户、vhosts和权限,关闭其它用户的连接,以及管理所有vhosts的策略和参数。
- 设置用户权限
rabbitmqctl set_permissions [-p <vhost>] <user> <conf> <write> <read>
权限设置包括:配置(队列和交换器的创建和删除)、写(发布消息)、读(有关消息的任何操作,包括清除这个队列);
- conf:一个正则表达式match哪些配置资源能够被该用户访问。
- write:一个正则表达式match哪些配置资源能够被该用户读。
- 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)相关推荐
- USB协议学习笔记 - 虚拟串口Virtual Port Com LED控制
前言 STM32 的USB 可以虚拟成一个串口,功能还挺强,感觉比HID好用 这里使用USB 虚拟的串口,做个控制LED的小程序 控制LED这里使用自定义的AT命令方式,如红灯亮:AT+LEDR_ON ...
- USB协议学习笔记 - 虚拟串口Virtual Port Com用于LOG打印
前言 上一篇讲了STM32 USB 虚拟串口的功能实现,可以通过STM32输出信息到PC端 这篇简单的做个应用:打印LOG(日志)信息到虚拟串口 操作方法 基于上篇的STM32 USB Virtual ...
- RabbitMQ 学习笔记
RabbitMQ 学习笔记 RabbitMQ 学习笔记 1. 中间件 1.1 什么是中间件 1.2 为什么要使用消息中间件 1.3 中间件特点 1.4 在项目中什么时候使用中间件技术 2. 中间件技术 ...
- Rabbitmq学习笔记(尚硅谷2021)
Rabbitmq学习笔记 (尚硅谷) 1.MQ 的概念 1.1 什么是 MQ? 1.2 为什么要用 MQ? 削峰 解耦 异步 1.3 MQ 的分类 ActiveMQ Kafka RocketMQ Ra ...
- Rabbitmq学习笔记教程-尚硅谷
Rabbitmq学习笔记 (尚硅谷) 尚硅谷 rabbitmq 教程 1.MQ 的概念 1.1 什么是 MQ? 存放消息的队列,互联网架构中常见的一种服务与服务之间通信的方式. 1.2 为什么要用 M ...
- 虚拟主机 (Virtual Host)
虚拟主机 (Virtual Host) 是在同一台机器搭建属于不同域名或者基于不同 IP 的多个网站服务的技术. 可以为运行在同一物理机器上的各个网站指配不同的 IP 和端口, 也可让多个网站拥有不同 ...
- RabbitMQ学习笔记四:RabbitMQ命令(附疑难问题解决)
RabbitMQ学习笔记四:RabbitMQ命令(附疑难问题解决) 参考文章: (1)RabbitMQ学习笔记四:RabbitMQ命令(附疑难问题解决) (2)https://www.cnblogs. ...
- RabbitMQ学习笔记(3)----RabbitMQ Worker的使用
1. Woker队列结构图 这里表示一个生产者生产了消息发送到队列中,但是确有两个消费者在消费同一个队列中的消息. 2. 创建一个生产者 Producer如下: package com.wangx.r ...
- RabbitMQ学习笔记(高级篇)
RabbitMQ学习笔记(高级篇) 文章目录 RabbitMQ学习笔记(高级篇) RabbitMQ的高级特性 消息的可靠投递 生产者确认 -- confirm确认模式 生产者确认 -- return确 ...
- rabbitmq学习笔记2 : 添加用户和virtual hosts
一.通过web界面管理工具进行配置 1.通过rabbitmq-plugins enable rabbitmq_management,开启web界面管理工具(见笔记1) 2.在浏览器输入http://l ...
最新文章
- vc2010解决方案项目编译顺序_科学网—VS2012 (2008,2010) 编译问题解决合集 - 冯博远的博文...
- redis启动后 允许访问_解决Redis开启远程访问及密码问题
- JAVA中的GridView每一个赋值,在ASP.NET 2.0中操作数据之六十二:GridView批量更新数据...
- OpenCV调用YOLOv4进行目标检测
- 从事前端多年,我是这样看待三大框架的
- Linux 命令(83)—— groups 命令
- vue3中套用echarts官网例子
- 线性和EWMA指数加权移动平均模型
- 核心期刊与统计源期刊
- 2.1 对称密钥的生成及以对象序列化方式保存
- 2021年全球探针卡市场规模大约为158亿元(人民币),预计2028年将达到247亿元
- 9527风先生的文章《Ubuntu20.04配置ORBSLAM2并运行》 :验证是能走通的
- 百度EasyDL实体抽取和关系抽取
- 常见安全漏洞及其解决方案
- 3D打印成型技术:看得见摸得着的真实
- 大数相减(解析国密sm2_bn_sub算法与自定义算法)
- VirtualBox下Ubuntu 20.04全屏显示
- 一起来看流星雨剧情简介/剧情介绍/剧情分集介绍第十四集
- 豪斯曼检验matlab,面板工具变量与内生性操作及应用(固定随机、豪斯曼检验、过度识别检验、预测等)...
- 解决Windows10/11系统DWcc2021安装失败打不开问题 Adobe Dreamweaver CC2021详细安装教程