This is the Trace Id: dcacf59ac038da05b730c5022af73c8b
跳转至主内容
Azure

什么是中间件?

中间件是帮助不同应用程序、系统和服务高效通信并协同工作的软件层。

中间件定义

中间件是充当应用程序、数据库和操作系统之间的桥梁的软件。它在云计算中发挥着重要作用,可帮助维护跨环境(包括本地服务器、混合设置和新式云平台)的简化通信、数据管理和互操作性。

关键要点

  • 中间件连接应用程序、数据库和服务,以便它们可以轻松地交换数据和函数。
  • 中间件通过简化复杂的集成来支持开发人员、IT 团队和企业。
  • 常见的中间件类型包括数据库中间件、面向消息的中间件、API 网关和事务处理监视器。
  • 中间件是云计算的核心,有助于启用可缩放、安全且高效的应用程序。
  • 企业依靠中间件来实现旧系统现代化并采用新技术。

中间件的角色

中间件有时被描述为“IT 系统的管道”。它填补了操作系统和运行在其上的应用程序之间的空白。如果没有中间件,开发人员需要为应用程序或数据库之间的每次交互编写自定义连接器,随着系统增长,这种方法很快就会变得难以管理。

在软件体系结构中,中间件意味着可以重复使用身份验证、事务管理、消息传递和 API 管理等服务。这样可以更轻松地开发、部署和维护应用程序。

各种行业都依赖于中间件,包括:
  • 金融服务,用于安全交易处理
  • 医疗保健,用于电子记录互操作性
  • 电子商务,用于将店面连接到付款网关和物流系统

中间件的工作原理是什么?

中间件在后台运行,充当应用程序、数据库和系统之间的翻译器和协调器。每个应用程序只能连接到中间件中心一次,然后该中心管理请求、应用规则,并安全高效地路由信息。此中心辐射型模型简化了集成,并使复杂环境保持平稳运行。

中间件的核心是充当处理任务的通信层,例如:
  • 消息传送:管理队列和主题,以便应用程序可以异步交换信息,即使一个系统处于脱机状态
  • API 管理:公开标准化 API,以便应用程序可以以一致、可重用的方式使用服务,这是平台即服务 (PaaS) 环境中的常见功能
  • 安全和标识:强制执行身份验证、授权和加密
  • 数据访问:优化数据库查询,支持跨多个源数据集成,并帮助保持分布式系统之间的一致性
  • 数据转换和路由:将信息转换为正确的格式,以便系统相互理解,然后将请求定向到正确的目标
  • 错误处理和监视:标记问题并在中断工作流之前提供警报
  • 会话管理:维护用户会话,这对 Web 和移动应用程序尤为重要
中间件工作流中的步骤
中间件和应用程序之间的流通常遵循以下顺序:
  1. 应用程序向中间件软件发送请求。
  2. 中间件检查安全规则和验证步骤。
  3. 如果需要,请求将转换为正确的格式。
  4. 中间件将请求路由到目标应用程序或服务。
  5. 响应通过中间件返回,使交换保持有序和安全。
此模型简化了集成,因此开发人员可以专注于构建应用程序,而不是维护连接器。

管理通信和数据交换
中间件软件不仅连接应用程序,还可在最初设计为协同工作的系统之间可靠、安全地大规模促进通信和数据交换。除了基本路由以外,它还提供保证和控制,使信息在生产环境中高效流动。

中间件通过以下方法帮助支持可靠的通信:
  • 在系统或网络暂时不可用时防止数据丢失
  • 即使工作负荷过重,仍维护应用程序性能
  • 通过安全传输保护敏感信息
  • 在不同环境中使分布式系统保持同步

中间件的类型和用例

中间件并非万能解决方案。 不同的类别旨在解决不同的集成挑战,例如在系统之间移动消息、管理数据库访问或处理大量事务。 以下是最常见的中间件类型以及可能会遇到它们的位置:
数据库中间件在应用程序和数据库之间建立桥梁、管理权限和简化查询。
用例包括:
  • 拉取业务报表
  • 合并来自多个源的数据
  • 在传输过程中保持敏感记录的安全
面向消息的中间件 (MOM) 通过队列或主题发送和接收消息来支持异步通信。
用例包括:
  • 处理电子商务中的在线订单
  • 管理金融交易
  • 在客户支持应用中提供聊天更新
远程过程调用 (RPC) 中间件允许一个应用程序在另一个系统上运行函数,就像它们是本地的一样。
用例包括:
  • 在后台通信的微服务
  • 分布式计算任务
  • 调用实时多人游戏服务的游戏应用
事务处理监视器监视大量事务,验证每个步骤是否正确完成,并在出现故障时回滚。
用例包括:
  • 航班预订
  • 大批量零售
  • 银行每天处理数百万笔信用卡交易
API 网关和 Web 中间件管理服务之间的 Web 请求和 API 调用流、处理身份验证、会话和路由。
用例包括:
  • 将前端应用连接到后端服务的联机市场
  • 网站的用户登录管理
  • 使用户会话在 Web 应用中保持活动状态
对象中间件侧重于将结构化数据和行为共享为跨系统的对象,尤其是在涉及不同的编程语言时。
用例包括:
  • 具有许多移动部件的企业平台
  • 使较旧的应用程序能够与新式平台一起使用
云中间件桥接本地系统和云环境,以支持混合体系结构。
用例包括:
  • 将旧版 ERP 系统迁移到 SaaS 解决方案的企业
  • 支持应用程序现代化的混合部署
  • 在应用跨云服务扩展时协调通信

当今云计算中的中间件

中间件曾经被视为后台实用程序,如今已被公认为新式云计算的重要推动因素,为混合云和多云环境中的安全、可扩展和互联系统提供了基础。云原生技术(如微服务、容器)和无服务器计算继续推动对轻型和自适应中间件的需求。同时,中间件将过时的系统与新式云体系结构连接起来,帮助组织实现应用程序现代化,并提供可靠的、互联的体验。
资源

发现帮助你取得成功的资源

学习新技能、提升专业知识,并掌握云计算的最新进展。
一位女士坐在办公桌前使用计算机。
Azure 资源

探索特选的 Azure 资源

访问指南、工具和学习路径,以扩展技能组并充分利用 Azure。
几个男士正在看笔记本电脑。
学生资源

使用专门面向学生的工具和计划实现更多目标

获得技能来快速开始技术职业生涯,并为世界带来积极影响。
一个人在使用笔记本电脑。
活动和网络研讨会

加入即将举行的 Azure 活动和网络研讨会

学习新技能,发现新技术并与社区建立联系(线上或线下参与均可)。
常见问题解答

常见问题解答

  • 中间件的主要用途是连接不同的应用程序、系统和服务,以便它们可以高效地进行通信和协作。它通过提供可重用的集成服务来降低开发人员和 IT 团队的复杂性。
  • 中间件的一个常见示例是 API 网关,用于路由和管理移动应用与多个后端服务(如数据库、付款处理器和第三方 API)之间的通信。
  • 中间件简化了应用程序开发,提高了互操作性,增强了安全性,支持可伸缩性,并允许企业在不一次性替换所有内容的情况下实现 IT 系统的现代化。
  • 软件是一个广义的术语,指用于执行任务的应用程序和程序。中间件是专用于连接其他软件组件和管理其交互的专用软件类型。