中间件是什么,它是怎么协调不同之间的通信和其他对接工作的?

中间件的定位其实也很中间,简单说它能帮不同的软件、系统顺畅沟通协作的技术,它的原理也比较简单,就是在不同系统之间搭一个通用桥梁,做翻译和调度

让原本语言和规则不通的系统能对接、交换数据、协同工作,让它们能专注于自己的事情,不用分出额外的资源来做协调

图片[1]-中间件是什么,它是怎么协调不同之间的通信和其他对接工作的?

什么是中间件?

做沟通的人

中间件:它是操作系统和应用程序之间,提供通用通信、调度、适配能力的软件层,有点像粘合剂的作用,就像你和外国人沟通需要翻译帮忙差不多

消息队列:就像一个快递中转站,如果你没空拿快递的话可以先寄存在它那里,系统其实也是一样的,不用等待双方同时相应,先存在消息队列里慢慢看也一样,避免一方的卡顿影响整体。所以它适合非实时场景

应用服务器:专门提供应用运行环境、负载均衡、事务管理的中间件类型,支撑应用程序的分布式部署,就像商场的运营管理中心,可以调度店铺的水电、客流和结算

 

它需要的网络技术

API接口:系统按API的规则传数据才能被对方识别,规定了数据怎么收发、格式的匹配。就像插座和插头一样,三孔插头只能对应三孔插座

耦合度:衡量不同系统和模块之间依赖程度的指标,就好像师徒一样,师傅不在场,徒弟就会相对手足无措了,所以徒弟对师傅的依赖程度就比较高

分布式技术:由多个地理位置分散的节点组成,通过网络协作完成同一任务的系统,就像是连锁超市,不同分店各自运营,但共享库存和客户数据,这样才能更好的做服务

 

关于中间件的一些误区

操作系统和软件跟它是一样的吗?

不对,中间件介于操作系统和软件之间,不直接实现应用的功能,也不负责硬件管理

它主要是提供协作能力,所以三者的定位是不同的

 

中间件部署越多越好吗?

错,它更像是按需部署,过多部署会增加系统复杂度和通信延迟,可能也会导致无法正常运行

比如我如果只需要消息队列,那我就只弄它一个就好了

 

中间件的工作原理和构造

没它的时候

那时候企业和个人使用的应用程序,比如电商APP、库存、支付系统,是需要一对一硬对接的,它们都需要适配对方的通信规则

这样的话开发成本和难度是很高的,还会出现一处改不好全体崩盘的问题

 

它的构造

通信适配层:负责解析不同系统的接口格式,主要做翻译工作

调度层:管理系统之间的请求优先级、负载分配,避免单节点过载

存储层:比如消息队列,临时存储交互数据,实现异步通信

监控层:跟踪系统交互状态,及时发现异常并报告

设计逻辑:把系统之间的对接工作抽离出来,交给对应的中间件一起管理协调,让它们各自都能专注主要工作,就像把所有企业的对外沟通交给专业团队一样,效率更高,成本更低

© 版权声明
THE END
喜欢就支持一下吧
点赞1 分享