中间件是什么?通俗易懂的解释

官方给的解释是:

中间件是组装到应用程序管道中以处理请求和响应的软件。 每个组件:

  • 选择是否将请求传递给管道中的下一个组件。
  • 可以在调用管道中的下一个组件之前和之后执行工作

其实我认为是将具体业务和底层逻辑解耦的组件,可以这么理解就是说,不知道业务的人去连接底层逻辑,说白了就是前端连接后端,这个时候就用到中间件了。

打个比方,比如说我要开一家奶茶店,这个时候我是不是要准备很多原料,就好比什么,糖啊,奶茶粉啊,珍珠类似的东西,但是呢我又不想花时间去找,去考察 ,这个时候我就找到了第三方,让他给我解决好,我需要什么就给他钱就可以了,(直接调接口就行),这个就类似中间件,可以缩短开发周期;屏蔽底层runtime的差异;节省应用本身的系统资源,减少运行成本。

中间件的性质:中间件是软件。

中间件作用层级:系统软件和应用软件之间、软件各部件之间;管理客户机与系统软件之间的计算资源和网络通信。

3中间件服务对象:中间件为应用软件服务,应用软件为最终用户服务,最终用户并不直接使用中间件。

作者:阿里巴巴淘系技术
链接:https://www.zhihu.com/question/19730582/answer/1663627873
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
下面是我们常用的基础中间件

- 路由与web服务器:处理和转发其他服务器通信数据的服务器。 如被业界广泛使用的阿里基于 Nginx 研发的 Tengine、阿里内部的集中式路由服务 VipServer

- RPC框架:微服务时代的远程服务调用框架。如grpc, Thrift, 阿里的 HSF, Dubbo, SOFA-RPC

消息中间件:支持在分布式系统之间发送和接收消息的软件。 如 Apache kafka, Apache RabbitMQ, NSQ, 阿里孵化开源的 Apache RocketMQ

- 缓存服务: 分布式的高速数据存储层,一般是内存存储。如 阿里 Tair,业界的 Redis, Memcached, Ehcache

- 配置中心:用来统一管理各个项目中所有配置的系统。如 阿里 Nacos、携程 Apollo、百度 Disconf

-分布式服务:事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。

- 任务调度:分布式环境下提供定时、任务编排、分布式跑批等功能的系统。如 阿里 SchedulerX、业界 xxl-job、当当 elastic-job、有赞 TSP

- 数据库层 用于支持弹性扩容和分库分表的 TDDL,数据库连接池 Driud, Binlog 同步的 Canal 等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值