【RabbitMQ | 第2篇】RabbitMQ 控制台实现消息路由 + 数据隔离

文章目录

  • 同步调用和异步调用
  • MQ
  • RabbitMQ
    • [1. RabbitMQ控制台实现交换机路由到队列](#1. RabbitMQ控制台实现交换机路由到队列)
      • [1.1 创建队列](#1.1 创建队列)
      • [1.2 将消息发送给交换机,是否会到达队列](#1.2 将消息发送给交换机,是否会到达队列)
    • [2. RabbitMQ控制台实现数据隔离](#2. RabbitMQ控制台实现数据隔离)
      • [2.1 添加一个用户](#2.1 添加一个用户)
      • [2.2 创建新的虚拟主机](#2.2 创建新的虚拟主机)

同步调用和异步调用

同步调用 是指完成一个功能,其内部有多个任务,要一直等待这几个任务全都完成后,才算这个功能的结束。

e.g 比如,在登录的时候,原本只需要校验用户名和密码,但需求说的是,还需要给用户发一条短信,或者还需要给用户加积分之类的。如果是同步的话,那么用户登录就不仅仅是校验用户名和密码,还要一直等待成功发送短信或加完积分后,才能进入网页。

这样,用户等待时间较长,性能就比较差。

异步调用 是指只完成必要的任务,其余任务交给消息代理 ,由消息代理去慢慢通知消息处理方处理,用户就不需要一直等待,把任务通知给消息代理即可。
优点 :性能较好,无需等待;缓存消息,流量削峰填谷。
缺点:不能立即调用结果;不确定后序任务时候执行成功;依赖于消息代理的可靠性。

MQ

MQ(MessageQuque):消息队列,存放消息的一种队列。

常见:RabbitMQ、RocketMQ、Kafka、ActiveMQ。

RabbitMQ RocketMQ Kafka ActiveMQ
公司 Rabbit 阿里 Apache Apache
开发语言 Erlang Java Scala&Java Java
协议支持 AMQP, XMPP, SMTP, STOMP 自定义协议 自定义协议 OpenWrite, STOMP, REST, XMPP, AMQP
可用性 一般
单机吞吐量(QPS) 一般 非常高
消息延迟 微妙级 毫秒级 毫秒以内 毫秒级
消息可靠性 一般 一般

RabbitMQ 的延迟性最好(微秒级),Kafka 的吞吐量最高(百万级别的 QPS)。

RabbitMQ

publisher(消息发送者)、exchange(交换机)、queue(队列)、consumer(消息消费者)、virtual-host(虚拟主机)

消息模型:

消息发送者将消息发送给交换机,交换机路由到队列,消费者监听队列。

为什么有 virtual-host 的存在 ?

一个公司中不同项目使用同一套 MQ 的服务,那这样不同项目的交换机和队列就可能会有冲突。所以就像数据库一样,每个项目有自己的 virtual-host,不同的 virtal-host 有不同的交换机和队列,那么不同的 virtual-host 内的队列和交换机就不会产生影响。 ------ 数据隔离作用

1. RabbitMQ控制台实现交换机路由到队列

1.1 创建队列

1.2 将消息发送给交换机,是否会到达队列

交换机绑定队列:

绑定后,点击绑定的队列,可以看到:

模拟交换机接受消息和路由消息:

发送后,交换机显示:

发送后,队列 hello.que1 中:

交换机负责路由和转发消息,本身不具备存储消息的能力。

2. RabbitMQ控制台实现数据隔离

2.1 添加一个用户

可以看到,此时新增的用户是没有虚拟主机的:

点击退出登录后,使用刚刚新创建的用户登录:

此时没有虚拟主机,无法进行任何的操作的。

2.2 创建新的虚拟主机

查看当前用户的虚拟主机:

切换至刚刚创建的虚拟主机下,就不存在之前创建的队列了:

不同虚拟主机下的交换机:

一般,不同的项目就创建不同的虚拟主机,保证数据的隔离

相关推荐
starzy19901 小时前
Spark 核心之二次排序、分组取 TopN 优化分析
大数据·分布式·spark
悦数图数据库1 小时前
千亿点边图谱建设,原生分布式图数据库如何避免单点瓶颈
数据库·分布式
祈禾10 小时前
Redis三大缓存问题与分布式锁
运维·数据库·redis·笔记·分布式·缓存
叠层归一研究院12 小时前
AGI 系统(五):多主体 AGI 网络 — 分布式符号边界上的时序差同构传播
分布式·php·agi
李白客17 小时前
分布式集群与数据库产业:从单机到集群的架构跃迁与市场重构
数据库·分布式·架构
传感器与混合集成电路17 小时前
储气库漏失检测技术解析:分布式光纤如何锁定环空窜漏的精确位置
分布式·数据分析·信号处理
cfm_291419 小时前
了解Sentinel
分布式·架构·sentinel
上海云盾-小余19 小时前
全域网络安全防护思路:借助分布式节点抵御异常访问实战
分布式·安全·web安全
江畔柳前堤21 小时前
LLM 量化与剪枝完全指南:从比特级数学到生产级内核
人工智能·分布式·深度学习·算法·机器学习·目标跟踪·语言模型
中议视控1 天前
展厅可视化网络中央控制系统:支持双向反馈,可视化播控,回显,状态显示,反向控制电脑,声光电网络视讯设备统一管理
网络·分布式·信息可视化