RabbitMQ的架构概述:消息队列。

摘要

RabbitMQ是个牛逼的消息队列,它遵循AMQP协议书,这个协议书是一个高级的消息队列协议,能够让你的消息中间件设计更加高端大气上档次。AMQP是个网络层协议,可以让你的消息传输更加稳定可靠,爽歪歪!

正文

消息队列RabbitMQ(二):RabbitMQ的系统架构图简述

序言

RabbitMQ是根据AMQP协议书的,要想深层次了解RabbitMQ,就务必先掌握AMQP是个什么东西?

AMQP协议书

AMQP即Advanced Message Queuing Protocol,高級消息队列协议书,是朝向消息中间件设计方案的网络层协议的一个对外开放规范。

AMQP是一个网络层协议,能够把它对比为HTTP协议书,最底层全是根据TCP/IP协议的,只不过是它是对于消息中间件设置的,它的设计方案全是为了更好地完成在经营者和顾客正中间传送信息。默认设置端口号为5672。

下面大家来剖析剖析AMQP协议书的模型设计(这实际上也是RabbitMQ的模型设计)

image-20210516200041684

能够见到AMQP是经营者顾客实体模型,经营者向网络服务器的网络交换机公布信息,网络交换机Exchange根据设置的路由器标准binding(有四种)关联的消息队列queue推送信息。顾客定阅网络服务器的消息队列,接受Message。

RabbitMQ的构架剖析

实际上大概上和AMQP类似,AMQP中也有channel,仅仅我没画出去。

  • channel:无线信道,时分复用联接中的一条单独的双重数据流分析安全通道,为对话给予物理学传输方式,在手机客户端的每一个联接里,可创建好几个安全通道。

下边说一下我对RabbitMQ的了解

RabbitMQ便是一个分布式数据库,你能把它对比成 Redis。RabbitMQ网络服务器中有好几个vm虚拟机,等同于 Redis 中的数据库查询。

经营者根据channel联接到网络交换机,先把信息内容发至网络交换机,网络交换机再根据路由器标准(binding)把信息内容发给关联的序列。

经营者只有将信息发送至网络交换机,它乃至都不清楚序列的存有。网络交换机一方面接受来源于经营者的信息,另一方面,将他们送入序列。因而网络交换机务必准确了解如何处理接到的信息。是不是应将其额外到特殊序列?是不是应当将其额外到很多序列中?或是应当将其丢掉。标准(也就是图中的binding)由互换定义方法,普遍的网络交换机种类有四种:direct, topic, headers 和fanout。

留意:Exchange(网络交换机)只承担分享信息,不具有储存信息的工作能力,因而要是没有一切序列与Exchange关联,或是沒有合乎路由器标准的序列,那麼信息会遗失!

顾客不和网络交换机相处,它定阅接受序列的信息内容。一旦序列不以空,它就随时随地取下消費。因而经营者生产制造完信息内容后能够关掉,顾客不可以关掉,要一直监视序列。

关注不迷路

扫码下方二维码,关注宇凡盒子公众号,免费获取最新技术内幕!

温馨提示:如果您访问和下载本站资源,表示您已同意只将下载文件用于研究、学习而非其他用途。
文章版权声明 1、本网站名称:宇凡盒子
2、本站文章未经许可,禁止转载!
3、如果文章内容介绍中无特别注明,本网站压缩包解压需要密码统一是:yufanbox.com
4、本站仅供资源信息交流学习,不保证资源的可用及完整性,不提供安装使用及技术服务。点此了解
5、如果您发现本站分享的资源侵犯了您的权益,请及时通知我们,我们会在接到通知后及时处理!提交入口
0

评论0

请先

站点公告

🚀 【宇凡盒子】全网资源库转储中心

👉 注册即送VIP权限👈

👻 全站资源免费下载✅,欢迎注册!

记得 【收藏】+【关注】 谢谢!~~~

立即注册
没有账号?注册  忘记密码?

社交账号快速登录