Jump to section

什么是中间件?

复制 URL

中间件是指连接操作系统与应用、数据及用户的软件层。中间件提供一些常用服务和功能,例如单点登录(SSO)或应用编程接口(API)管理。开发人员可以借助中间件集成不同的应用组件,使其通过一个简单、统一的方式进行连接和交互。这让开发人员能够腾出时间来构建应用的核心功能,而不是花时间将这些功能连接到不同的端点和环境,包括传统系统。

1960 年代末开始,中间件就成为了软件工程技术的一部分,并且它不仅限于某一特定类型的软件,而是作为一个广泛的类别,可以应用于许多不同类型的现代软件组件。中间件可以包括应用运行时、企业应用集成和各种云服务。数据管理、应用服务、消息传递、身份验证和 API 管理通常都要通过中间件来处理。

如今,中间件是现代云原生架构的技术基础。对于具有多云和容器化环境的企业而言,中间件可以助您大规模、经济高效地开发和运行应用。

从广义上讲,中间件涵盖了从 Web 服务器,到身份验证系统,再到消息传递工具等一切组件。以下是现代化开发中一些常见的中间件用例。

Middleware New Application Development diagram

新应用开发

中间件可支持各种用例的现代常用运行时环境。开发人员和架构师可以根据一组基本运行时、框架和编程语言,跨平台灵活地开展工作。此外,中间件还可以提供一些常用功能,例如 Web 服务器、单点登录(SSO)、消息传递和内存中缓存。

Middleware optimization of existing applications diagram

优化现有应用

借助中间件,开发人员可以将传统单体式应用转换为云原生应用,从而带来更高的性能和更强的可移植性,让有价值的工具焕发新生。

Middleware comprehensive integration diagram

全面集成

中间件集成工具可连接关键的内部和外部系统。转换、连接、组合和企业消息传递等集成功能与 SSO 身份验证相结合,使开发人员可以更轻松地在不同应用之间扩展功能。

Middleware app programming interfaces diagram

应用编程接口(API)

许多中间件服务都是通过 API 访问的,API 是一组允许应用之间相互通信的工具、定义和协议。正是有了 API,才有可能通过通用层连接完全不同的产品和服务。

Middleware data streaming diagram

数据流

API 是在应用之间共享数据的一种方法,另一种方法是异步数据流。这种方法是在中间存储中复制数据集,其中的数据可在多个应用之间共享。Apache Kafka 是一款常见的用于实时数据流的开源中间件工具。

Middleware intelligent business automation diagram

智能业务自动化

借助中间件,开发人员、架构师、IT 和业务主管可以实现手动决策自动化。自动化可以改善资源管理和整体效率。

随着企业越来越多地采用云原生开发,软件开发人员和系统架构师必须更关注应用平台的前期设计和架构。这需要选择和设置合适的框架与功能,以便开发、部署和运行应用,而所有功能都是由中间件来管理和协调。有了这些功能,企业就能进一步挖掘云的益处。应用可以部署在多个不同的基础架构上(无论是本地系统还是公共云环境),并且它们都能正常运行。

为了应对这种复杂情况,企业纷纷选择了中间件(现在大部分中间件作为云服务来提供,简化了开发和管理工作)来保持快速、经济高效的应用开发。中间件可以有力支持应用环境在高度分布式平台上平稳、一致地运行。它还可以为软件供应链安全防护、DevSecOps 战略和自动化提供支持,帮助团队更快速地构建更好的新型应用,同时仍能掌控安全风险。

现代业务应用经过精心设计,可以在本地或跨云端大规模运行。为了构建这些应用,开发人员需要一种具备统一基础功能的应用环境。中间件正是打造这种环境的关键。

我们可以将这些功能分为四层,外加相应的工具:

容器层

中间件的这一层将以统一方式管理应用生命周期的交付。它提供带有 CI/CDDevOps 能力、容器管理以及服务网格功能。

运行时层

该层包含了自定义代码的执行环境。中间件可以为高度分布式云环境(例如微服务)、内存中缓存(用于快速访问数据)和消息传递(用于快速数据传输)提供轻量级运行时和框架。

集成层

集成中间件可提供相关服务,以通过消息传递、集成和 API 来连接自定义与购买的应用及软件即服务(SaaS)资产,从而形成功能正常的系统。此外,它还可以提供内存数据库和数据缓存服务、数据/事件流以及 API 管理功能。

流程自动化和决策管理层

这是开发中间件的最后一层,旨在强化关键智能,实现优化和自动化,以及加强决策管理。

工具

除了上述四层中间件之外,还有相应的应用开发工具。借助这些工具,团队可以使用预设的模板和容器来构建应用,并促进有效的代码共享和联合开发。这些工具可在本地和云端提供连贯一致的应用开发和交付体验。

API 会建立一组用于集成软件的定义和协议,以便应用可以与其他产品和服务通信。API 简化了开发人员将新应用组件集成到现有架构的方式,继而帮助团队更好地协作,更快速地为软件添加实用的新功能。

使用 API 和微服务是云原生应用开发的基础。促进 API 连接的服务也是一种中间件。通过 API 管理工具,开发人员能够分享、分发、控制 API 并利用 API 盈利。

连同服务网格和数据流等其他应用服务工具,API 管理支持在混合云环境中大规模运行应用。

继续阅读

文章

什么是集成?

想要知道什么是集成?了解何为集成、它的具体实现方式以及使用开源技术为什么有助于实现集成。

文章

什么是 Apache Kafka?

Apache Kafka 是一个分布式数据流处理平台,可以实时发布、订阅、存储和处理数据流。

文章

什么是 API?

应用编程接口(API)是一组用于构建和集成应用软件的定义和协议。

详细了解集成

产品

一套全面的集成和消息传递技术,旨在跨混合基础架构连接应用和数据。包括红帽 3scale API 管理、红帽 AMQ、红帽应用运行时、变更数据捕获和服务注册表。

托管平台、应用和简化了混合云体验的数据服务,从而降低了运维成本和提供云原生应用的复杂性。

一整套产品、工具及组件,以用于开发和维护云原生应用。包括红帽 AMQ、红帽数据网格、红帽 JBoss® 企业应用平台、红帽 JBoss Web 服务器、OpenJDK 的红帽版、Quarkus 红帽版、一组云原生运行时、应用迁移工具包、单点登录和启动器服务。

一套全面的集成和运行时技术,旨在帮助您构建、部署和操作应用,同时兼顾安全性和跨混合云的可扩展性。

相关资源

继续探索

培训