什么是中间件
前言
- 业务系统中非业务逻辑的通用性核心功能出来,逐步形成中间件服务
- 中间件:介于操作系统和应用软件之间,为应用软件提供服务功能的软件,有消息中间件,通信中间件,应用服务器。由于介于两种软件之间,所以称之为中间件
- 业务应用逻辑开发中,通用共性的功能和逻辑,进行提取凝练开发成通用的组件。如;RPC 框架、白名单、限流、切量等。
为什么使用中间件
- 中间件屏蔽了底层操作系统的复杂性,让开发工程师将更多的专注力放在业务逻辑和流程实现上,让开发人员面对的是一个简单的,单一的,统一的开发环境,减少程序设计因为底层差异而导致的复杂度
- 中间件最终带给系统的是交付质量和交付能力的提升,减少系统上线之后的不稳定性和运维成本以及管理的工作量,减少了服务资源的投入
中间件的分类
- 终端仿真/屏幕转换中间件
- 数据访问中间件:JDBC/ODBC 适用于应用程序和各类数据源的通信操作,以便于直接访问和更新基于服务器的数据源,数据源可以是关系型或者非关系型以及对象型,比如Mysql、Oracle、redis或者elasticsearch,使用此类中间件可以更好地简化应用系统的开发
- 远程过程调用中间件:rpc,最早的分布式应用系统采用的一种同步请求和应答协议,适用于远程环境调用和分布式部署
- 消息中间件:kafka,ActiveMQ,RabbitMQ,现在的分布式系统离不开rpc和MQ,系统架构使用消息中间件将应用扩展到不同的操作系统和不同的网络环境中,基于消息事件驱动机制处理业务逻辑
交易中间件
- 此类中间件是一种针对联机交易处理系统而设计的中间件,其实很多业务发起的中间件都属于此类。交易中间件就相当于一组程序模块,使用它可以大大的减少开发一个交易系统所需要的编程工作量。
对象中间件