| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> 【RabbitMQ】RabbitMQ 学习教程(零)认识中间件 -> 正文阅读 |
|
[大数据]【RabbitMQ】RabbitMQ 学习教程(零)认识中间件 |
中间件 “中间件”对于初学者而言,这是一个很抽象的概念。那么,到底什么是中间件呢?我其实,我也不知道,但我可以帮你去理解它。
那么,如何来解读这个公式呢? 一般,一个平台是包含多个子系统,而用来开发这些子系统的编程语言可能是多种(Java、Go、C++),但这些子系统通过中间件、操作系统进行通信(如:一个电商平台,订单系统是由 Java 语言开发,而支付系统是由 Go 语言开发。当一个用户下完单准备支付时,此时,支付系统是要和订单系统进行通信的,订单系统要告诉支付系统该支付多少钱嘛) 子系统通过中间件进行数据通信:
那么,从上面的描述来看,中间件有哪些特点呢:
常用的中间件:
中间件的优势 使用中间件,有什么优势?
中间件的分类 常用的中间分为以下几类:消息中间件、负载均衡中间件、缓存中间件、数据库中间件 每一类中间对应的产品如下:
这里重点讲述的是消息中间件哈。 消息中间件
消息中间件 又称 消息队列,简称 MQ。指:利用高效、可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。 消息中间件一般有两种传递模式:点对点模式;发布/订阅模式
目前,比较主流的消息中间件有:RabbitMQ、Kafka、ActiveMQ、RocketMQ。面向消息的中间件提供了以松散耦合的灵活方式集成应用程序的一种机制。它们提供了基于存储和转发的应用程序之间的异步数据发送。即:应用程序彼此间不直接通信,而是与作为中介的消息队列通信。 消息中间件的工作流程 消息中间件适用于需要可靠的数据传送的分布式环境。采用消息中间件的系统中,不同对象之间通过传递消息来激活对方的时间,已完成相应的操作。 发送者将消息发送给消息服务器,消息服务器将消息存放在若干队列中,在合适的时候再将消息转发给接收者。消息中间件能在不同平台之间通信,它常被用来屏蔽各种平台及协议之间的特性,实现应用程序之间的协同。其优点在于:能够在客户和服务器之间提供同步、异步的连接,并且在任何时刻都可以将消息进行传送或者存储转发。 如下图,应用程序 A 与应用程序 B 通过消息中间件的应用程序编程接口(API,Application Program Interface)发送消息进行通信: 灵活性的另一方面体现在:当应用程序 A 发送消息时,应用程序 B 甚至可以处于不运行状态,消息中间件将保留这份消息,直至应用程序 B 开始执行并消费消息。这样,还防止了应用程序 A 因为等待应用程序 B 消费消息而出现阻塞。 消息中间件的核心架构
协议 关于消息中间件的协议有: AMQP 协议、 MQTT 协议、OpenMessage 协议、Kafka 协议
消息中间件的分发策略 分发策略的机制和对比:
以上内容,大家留下个印象就行了哈。如果是刚入手,理解起来有点困难,但没关系,不影响后续的学习哈~~ |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 16:38:29- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |