中间件
中间件(Middleware),又称 中介层 ,是提供系统软件和应用软件之间连接的软件,以便于软件各部件之间的沟通,特别是应用软件对于系统软件的集中的逻辑。中间件在企业架构中表示各种软件套件,有助于抽象底层机制,比如操作系统 API、网络通信、内存管理等,开发者只需要关注应用中的业务模块。
什么是中间件
在 Express、Koa2 中
- 中间件代表一系列以管道形式被连接起来,以处理 HTTP 请求和响应的函数。
- 中间件其实就是一个函数,一个执行特定逻辑的函数。
- 前端中类似的概念还有拦截器、Vue 中的过滤器、vue-router 中的路由守卫等。
工作原理就是进入具体业务之前,先对其进行预处理(在这一点上有点类似于装饰器模式),或者在进行业务之后,对其进行后处理。
中间件的特点
- 中间件是软件,而且是一大类具有不同功能的软件,而不是一种具备某具体功能的软件;
- 中间件是伴随着网络而应运而生的;
- 中间件是应用软件与系统软件之间的“中介件”“介中软件”,起到支撑与连接作用;
- 中间件不是开发工具,但它具有开发、管理和部署的功能;
- 中间件是为应用软件服务的,应用软件是为最终用户服务的,最终用户并不直接使用中间件;
- 中间件不是大众消费类软件产品,除非是一个行业内的专业人士,普通消费者是不会接触中间件的;
- 在基础软件(操作系统、数据库、中间件)中,中间件是最不为人所了解的;
- 中间件名称存在被误用、滥用的现象;
中间件的作用
- 集成运行环境:中间件能够屏蔽、弥合底层运行环境中的差异性与异构性,确保整个系统在异构平台间能够稳定运行;
- 提高开发效率:中间件能够提高开发效率,大幅缩短开发周期;
- 软件质量:中间件能够明晰系统内的不同层级,对接不同的可插拔方式,从而保障软件的质量;
- 节约成本:中间件可大幅节省应用系统内的系统资源,并减少运行成本。