java 中间件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/deng624796905/article/details/85060418

中间件概率:非底层操作系统软件,非业务应用软件,不是直接给最终用户使用的,不能直接给客户带来价值的软件统称为中间件。  

中间件屏蔽了底层操作系统的复杂性,使程序开发人员面对一个简单而统一的开发环境,减少程序设计的复杂性,将注意力集中在自己的业务上,不必再为程序在不同系统软件上的移植而重复工作,从而大大减少了技术上的负担。中间件带给应用系统的,不只是开发的简便、开发周期的缩短,也减少了系统的维护、运行和管理的工作量,还减少了计算机总体费用的投入。
中间件是一类独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机/服务器的操作系统之上,管理计算机资源和网络通信。

举个例子:
我开了一家炸鸡店(业务端),然而周边有太多屠鸡场(底层),为了成本我肯定想一个个比价,再综合质量挑选一家屠鸡场合作(适配不同底层逻辑)。由于市场变化,合作一段时间后,或许性价比最高的屠鸡场就不是我最开始选的了,我又要重新和另一家屠鸡场合作,进货方式、交易方式等等全都要重来一套(重新适配)。

然而我只想好好做炸鸡,有性价比高的肉送来就行。于是我找到了一个专门整合屠鸡场资源的第三方代理(中间件),跟他谈好价格和质量后(统一接口),从今天开始,我就只需要给代理钱,然后拿肉就行。代理负责保证肉的质量,至于如何根据实际性价比,选择不同的屠鸡场,那就是代理做的事了。

java中间件就是处理我们数据间交互,连接数据分离后两个系统间的通信,简单的说就是将具体业务和底层逻辑解耦的组件,就像Linux下的管道。
    在java web开发中适用的范围主要应该是下面三个领域:

关于远程服务框架中间件,国内目前较多应用的是阿里巴巴的开源分布式服务框架Dubbo。其原理如图: 


消息队列中间件是一种EDA架构(event driven architecture):通过在低耦合的模块之间传输事件消息来完成模块之间的合作。大型网站中,消息队列采用发布/订阅模式。消息发布者发布消息到消息队列,消息消费者只要对该类消息感兴趣,就可以订阅该消息,对其他的业务没有任何的影响。其原理如图: 

目前常用的消息队列产品为Apache的ActiveMQ

优点 
① 解耦 ② 异步 ③ 横向扩展 ④ 安全可靠 ⑤ 顺序保证(比如kafka)

数据访问中间件

主要解决应用访问数据库的共性问题的组件

例如:数据访问中间间就是我们使用数据库指定的数据驱动,JDBC。

扫描二维码关注公众号,回复: 4551688 查看本文章

链接:https://www.zhihu.com/question/19730582/answer/140527549

链接:https://www.cnblogs.com/yaowen/p/6293163.html

链接:https://blog.csdn.net/xiha_zhu/article/details/80102110

猜你喜欢

转载自blog.csdn.net/deng624796905/article/details/85060418