什么是企业服务总线?

企业服务总线(ESB)是一种软件架构模式,支持不同应用程序之间的实时数据交换。大型组织有多个应用程序,这些应用程序使用不同的数据模型、协议和安全限制来执行各种功能。ESB 通过执行数据转换、协议转换、消息路由等操作,简化了应用程序集成。应用程序将相关数据传递给 ESB,然后 ESB 将数据转换并转发给需要它的其他应用程序。

企业服务总线有哪些好处?

企业服务总线(ESB)概念可以标准化和简化组织内服务之间的通信、消息传送和集成。接下来,我们将介绍小规模 ESB 架构实施的一些好处。

改善了应用程序集成

ESB 为企业应用程序集成提供了一个中央平台。组织可以无缝集成所有类型的系统和应用程序,无论其底层技术或协议如何。这使组织可以更轻松地维护、管理和扩展其应用程序。

提高了开发人员效率

开发人员使用 ESB 提供的预构建通信服务更快地构建应用程序。团队为总使用量分担基础设施成本并预置服务器。它们降低了管理费用和运营成本,同时提高了整体效率。ESB 还可以缩短上市时间并降低开发成本。

提高了可见性和控制力

借助 ESB,组织可以监控不同应用程序之间的数据和服务流,并快速识别和解决可能出现的任何问题。这有助于组织确保其应用程序可用、可靠和安全。

企业服务总线如何运作?

企业服务总线(ESB)遵循服务导向型架构(SOA)原则。

SOA 是一种软件开发方法,使用称为服务的软件组件来创建业务应用程序。每项服务提供一种业务能力,多项服务也可以跨平台和语言相互通信。

ESB 平台提供用于应用程序彼此交互的通信服务。一些示例包括消息转换、协议转换、路由和身份验证。

 
(AWS 上的 ESB 实施)

接下来,我们将讨论 ESB 架构的关键组件。

端点

在 ESB 架构中,可以将端点看作是 ESB 的入口或出口。

通常,每个端点都有一个唯一的地址或标识符。您可以使用各种技术来实施端点,例如 Web 服务接口、消息队列或 FTP 服务器。端点还可以处理不同的消息类型,例如 XML、JSON 或二进制数据。

端点架构的灵活性允许 ESB 与各种系统和应用程序集成。

适配器

ESB 工具中的适配器组件可在不同的格式和协议之间转换消息。这意味着接收方软件应用程序可以正确使用它们。它还可以提供消息记录、监控、身份验证和错误处理等功能。

总线

总线是用于端点间消息交换的核心 ESB 组件。它使用一组基于各种标准(例如消息类型、内容或目的地)的规则或策略来路由消息。

您可以在 ESB 配置中定义策略以满足复杂业务流程的要求。它使用各种通信协议(例如 HTTP、JMS 和 FTP)与端点通信。

总线的工作原理如下:

  1. 总线在一个端点接收消息
  2. 它通过检查业务策略规则来确定目标端点的地址
  3. 它处理消息并将其发送到目标端点

例如,假设总线从连接到端点 A 的应用程序接收 XML 文件。它决定将 XML 文件发送到端点 B 和 C,端点 B 需要 JSON 数据,而端点 C 需要 HTTP Put 函数。适配器将 XML 文件转换为 JSON,然后总线将其发送到端点 B。总线在端点 C 上使用 XML 执行 HTTP 请求。

企业服务总线有哪些局限性?

由于以下限制,企业架构已放弃使用企业服务总线(ESB)。

复杂性

实施和维护 ESB 需要专业的技术知识,因此复杂且昂贵。供应商锁定使得切换到其他 ESB 解决方案变得困难,并限制了数据集成的选项。由于只有 ESB 的中央管理团队可以集成新的企业应用程序,因此团队会经历漫长的等待时间。

可扩展性

由于 ESB 软件增加了抽象和处理层,因此会在通信中引入额外的延迟。随着端点和通信服务映射数量的增加,ESB 将成为瓶颈并影响性能。为 ESB 服务器实现高可用性和灾难恢复的成本也随之增加。

升级难度

对 ESB 集成进行增强可能会导致其他连接组件不稳定,并且需要在更新之前进行大量测试。为 ESB 项目升级提供资金需要跨团队协作,这可能具有挑战性。

哪些技术正在取代企业服务总线?

如今,企业服务总线(ESB)的使用主要局限于需要复杂集成的遗留系统。ESB 架构模式已被微服务架构等技术所取代。

微服务架构由非常小且完全独立的软件组件组成,这些组件具有自己的通信协议,这些协议通过轻量级 API 公开。使用器通过微服务的 API 使用微服务,从而消除对集中式 ESB 的需求。

有关更多信息,您可以了解微服务了解 API

云计算和微服务架构的兴起导致了新技术的出现,这些新技术通常被视为 ESB 的替代方案。接下来,我们将讨论其中一些新技术。

API 网关

API 网关是轻量级组件,为客户端访问多种服务提供单一入口点。它们通常用于管理 API、加强安全和处理流量。

服务网格

服务网格是专用的基础设施层,用于管理微服务架构中的服务间通信。它提供服务发现、负载平衡和流量管理等功能。

事件驱动型架构

在事件驱动型架构中,服务通过异步事件处理而不是同步请求进行通信。事件指的是状态的改变或更新,例如在电子商务网站上的购物车中放置一个商品。事件可以包含状态(购买的商品、其价格和收货地址),也可以是标识符(订单已发货的通知)。

什么是事件总线?

许多组织已从企业服务总线(ESB)转向事件总线。事件总线是接收事件的管道。它根据事件将应用程序组件连接在一起,使您可以更轻松地构建可扩展的事件驱动型应用程序。

 

与事件总线相关的规则会在事件送达时对其进行评估。每条规则都会检查事件是否符合该规则的标准。您可以将规则与特定事件总线相关联,使该规则仅适用于该事件总线接收的事件。

产生器将事件发布到事件总线。事件总线根据预先配置的规则在事件送达时对其进行筛选和评估,然后将事件推送给使用器。生成器服务和使用者服务将会解耦,从而使它们能够独立扩展、更新和部署。

AWS 如何支持您的应用程序集成需求?

Amazon Web Services(AWS)提供了一套应用程序集成服务。这些服务在微服务、分布式系统和无服务器应用程序中的解耦组件之间进行通信。如果您感兴趣,可以在 AWS 上的应用程序集成中了解更多信息。

例如,您可以使用以下服务来满足您的需求:

  • Amazon API Gateway 可创建、发布、维护、监控和保护面向无服务器工作负载和 Web 应用程序的任何规模的 API
  • Amazon EventBridge 可构建一个事件总线,以连接来自您自己的应用程序、软件即服务(SaaS)和 AWS 服务的应用程序数据
  • Amazon Simple Queue Service(Amazon SQS)可构建一个消息队列,用于在应用程序组件之间发送、存储和接收任意数量的消息

立即创建账户,开始在 AWS 上进行应用程序集成。

AWS 上的后续步骤

注册免费账户

立即享受 AWS 免费套餐。

注册 
开始在控制台中构建

在 AWS 管理控制台中开始构建。

登录