中间件
目录:
参考:
# 一、中间件的概念
中间件(Middleware)顾名思义是系统软件和用户应用软件之间连接的软件,以便于软件各部件之间的沟通,特别是应用软件对于系统软件的集中的逻辑,是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件在客户服务器的操作系统、网络和数据库之上,管理计算资源和网络通信。总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。

中间件、操作系统、数据库,共同构成基础软件三大支柱,中间件是一种应用于分布式系统的基础软件,位于应用与操作系统、数据库之间,为上层应用软件提供开发、运行和集成的平台。中间件解决了异构网络环境下软件互联和互操作等共性问题,并提供标准接口、协议,为应用软件间共享资源提供了可复用的“标准件”。中间件技术发展的初衷是以适应网络技术应用的复杂性及跨平台特性为基础,是在软件产业不断发展过程中自然产生的。
中间件的特点:
- 满足大量应用的需要;
- 运行于多种硬件和OS平台;
- 支持分布计算,提供跨网络、硬件和OS平台的透明性的应用或服务的交互;
- 支持标准的协议;
- 支持标准的接口。
# 二、中间件的分类
中间件可以分为基础中间件、集成中间件、行业领域应用平台。
# 2.1 基础中间件
基础中间件是构建分布式应用的基础,也是集成中间件和行业领域应用平台的基础,包括应用服务器中间件、消息中间件和交易中间件等。
# 2.1.1 应用服务器中间件
应用服务器中间件位于客户浏览器和数据库之间,为应用程序提供业务逻辑的代码。应用服务器通过组件的应用程序接口将商业应用逻辑曝露给客户端的程序,同时为应用提供运行平台和系统服务,并管理对数据库的范围。对于高端需求,应用服务器具有高可用性监视、集群化、负载平衡、集成冗余和高性能分布式应用服务,以及对复杂的数据库访问的支持等功能。目前,市场上应用服务器平台中有J2EE,WebLogic,Glassfish,JBoss企业应用平台,以及Apache Tomcat和Apache Geronimo等。

# 2.1.2 消息中间件
消息中间件(消息队列 Message Quequing )是在消息传输过程中保存消息的容器,消息中间件即为消息队列的承载形式。消息是两台计算机间传送的数据单位,消息队列在将消息从它的源中继到它的目标时充当中间人,主要目的是提供路由并保证消息的传递;如果发送消息时接收者不可用,消息队列会保留消息,直到可以成功地传递它,主要解决传统结构耦合性问题、系统异步性问题以及缓解大数据量并发的问题等。消息队列有较多的型号,较为常用的为ActiveMQ、RabbitMQ、RocketMQ和Kafka。由于消息队列使用消息将应用程序连接起来,这些消息通过像RabbitMQ的消息代理服务器在应用程序之间路由。
# 2.1.3 交易中间件
交易中间件是专门针对联机业务处理系统而设计的,是所有中间件类型中理论较为成熟、功能和性能界定比较清晰的中间件产品。在联机业务处理系统中,需处理大量并发进程,涉及到操作系统、文件系统、数据通讯、数据库管理、应用软件等,通过交易中间件,可降低联机业务处理系统的开发难度,提高系统运行的安全稳定性。交易中间件主要应用在金融、财税、运输、电力、电信等行业中,如银行业务系统、电信计费系统等。