中间件是什么意思?常见的中间件有哪些?

中间件是什么意思?常见的中间件有哪些?

有了解的朋友都知道,常用的中间件包括“RabbitMQ、Apache Kafka、Redis、Nginx、Tomcat”等,它们在不同的领域和场景中发挥重要作用。根据具体的需求和应用场景,选择合适的中间件是非常重要的一件事情。

一、中间件是什么意思?中间件(英语:Middleware),又译中间件、中介层,是一类提供系统软件和应用软件之间连接、便于软件各部件之间的沟通的软件,应用软件可以借助中间件在不同的技术架构之间共享信息与资源。中间件位于客户机服务器的操作系统之上,管理着计算资源和网络通信。

中间件是指位于操作系统和应用程序之间的软件层。它们提供了一种通信机制,使不同的应用程序或系统能够相互交互和协作。

我个人理解的是:

将具体业务和底层逻辑解耦的组件,非业务的技术类组件非业务的技术类组件。是一种应用于分布式系统的基础软件,位于应用与操作系统、数据库之间,为上层应用软件提供开发、运行和集成的平台。中间件解决了异构网络环境下软件互联和互操作等共性问题,并提供标准接口、协议,为应用软件间共享资源提供了可复用的“标准件”。

大致意思就是:

介于操作系统和应用程序之间的产品,中间件简单解释,你可以理解为面向信息系统交互,集成过程中的通用部分的集合,屏蔽了底层的通讯,交互,连接等复杂又通用化的功能,以产品的形式提供出来,系统在交互时,直接采用中间件进行连接和交互即可,避免了大量的代码开发和人工成本。其实,理论上来讲,中间件所提供的功能通过代码编写都可以实现,只不过开发的周期和需要考虑的问题太多,逐渐的,这些部分,以中间件产品的形式进行了替代。需要利用服务的人(前端写业务的),不需要知道底层逻辑(提供服务的)的具体实现,只要拿着中间件结果来用就好了。

例如:

最常见的消息中间件,即系统之间的通讯与交互的专用通道,类似于邮局,系统只需要把传输的消息交给中间件,由中间件负责传递,并保证传输过程中的各类问题,如网络问题,协议问题,两端的开发接口问题等均由消息中间件屏蔽了,出现了网络故障时,消息中间件会负责缓存消息,以避免信息丢失。

相当于你想给美国发一个邮包,只需要把邮包交给邮局,填写地址和收件人,至于运送过程中的一系列问题你都不需要关心了。

再比如:

我开了一家炸鸡店(业务端),然而周边有太多屠鸡场(底层),为了成本我肯定想一个个比价,再综合质量挑选一家屠鸡场合作(适配不同底层逻辑)。由于市场变化,合作一段时间后,或许性价比最高的屠鸡场就不是我最开始选的了,我又要重新和另一家屠鸡场合作,进货方式、交易方式等等全都要重来一套(重新适配)。然而我只想好好做炸鸡,有性价比高的肉送来就行。于是我找到了一个专门整合屠鸡场资源的第三方代理(中间件),跟他谈好价格和质量后(统一接口),从今天开始,我就只需要给代理钱,然后拿肉就行。代理负责保证肉的质量,至于如何根据实际性价比,选择不同的屠鸡场,那就是代理做的事了。

二、常见的中间件有哪些?中间件可以按照不同的标准进行分类,常见的中间件分类包括:

1、消息队列中间件:用于在应用程序之间进行异步消息传递。消息队列中间件包括“RabbitMQ、Apache Kafka、ActiveMQ”等。

2、数据库中间件:用于管理和访问数据库。数据库中间件包括“MySQL Proxy、PostgreSQL PgBouncer”等。

3、缓存中间件:用于加速数据访问,减轻数据库负载。缓存中间件包括“Redis、Memcached”等。

4、Web服务器中间件:用于处理HTTP请求和响应。常见的Web服务器中间件包括“Nginx、Apache”等。

5、应用服务器中间件:用于托管和管理应用程序的执行环境。常见的应用服务器中间件包括“Tomcat、Jboss”等。

6、消息代理中间件:用于在分布式系统中进行消息传递和路由。常见的消息代理中间件包括AMQP协议的”RabbitMQ、Kafka“等。

7、API网关中间件:用于管理和控制API的访问和调用。常见的API网关中间件包括”Kong、Apigee“等。

相关尊享内容