睿诚科技协会

MuleSoft API技术架构如何支撑企业集成与扩展?

MuleSoft 的架构核心思想是 API-led Connectivity(API 优先的连接),这不仅仅是一套技术,更是一种方法论,旨在通过标准化的、可复用的 API 来连接不同的应用、数据和设备,从而打破信息孤岛,加速业务创新。

MuleSoft API技术架构如何支撑企业集成与扩展?-图1
(图片来源网络,侵删)

其技术架构主要围绕以下几个核心概念和组件展开:


核心理念:API-led Connectivity

这是理解 MuleSoft 架构的基石,它将 API 分为三种不同层次,每一层都有其特定的目的和消费者:

  1. System API (系统 API)

    • 目标: 连接和暴露后端系统(如 SAP、Salesforce、Oracle 数据库、遗留系统)的“原汁原味”的数据和功能。
    • 特点: 直接与后端系统交互,通常协议和技术比较底层(如 JDBC, JMS, SOAP),这一层是连接的基础,但通常不直接面向业务用户。
    • 类比: 像是仓库的“后门”,只负责将货物(数据)从仓库里拿出来,不管怎么包装。
  2. Process API (流程 API)

    MuleSoft API技术架构如何支撑企业集成与扩展?-图2
    (图片来源网络,侵删)
    • 目标: 组合一个或多个 System API,实现特定的业务流程或逻辑,它封装了复杂的业务规则和数据转换。
    • 特点: 不直接连接后端系统,而是通过调用 System API 来工作,它处理业务逻辑、数据聚合、编排等,这一层是业务逻辑的核心。
    • 类比: 像是“加工车间”,将从后门运来的原材料(数据)进行加工、组装,变成半成品。
  3. Experience API (体验 API)

    • 目标: 为特定的前端体验(如移动 App、Web 页面、第三方合作伙伴)提供一个简单、直观、安全的接口。
    • 特点: 通常是基于 RESTful 风格,数据格式统一(如 JSON),只暴露前端所必需的数据和功能,隐藏了后端的复杂性,它关注的是最终用户体验。
    • 类比: 像是“产品展示厅”,将加工好的半成品(数据)进行精美包装,以最友好的方式呈现给最终客户。

这种分层架构的优势:

  • 重用性: System API 可以被多个 Process API 复用;Process API 可以被多个 Experience API 复用。
  • 安全与治理: 可以在每一层设置不同的安全策略和访问控制,实现精细化治理。
  • 敏捷性: 前端团队可以独立于后端系统进行开发,只需依赖稳定的 Experience API。
  • 可维护性: 当底层系统变化时,只需修改相应的 System API 或 Process API,不会影响到上层的大量应用。

核心技术组件

MuleSoft 的技术架构主要由以下四大产品(或平台)组成,它们共同构成了 Anypoint Platform。

Anypoint Platform (统一集成平台)

这是整个架构的“大脑”和“控制中心”,提供了一站式的 API 管理和集成能力。

MuleSoft API技术架构如何支撑企业集成与扩展?-图3
(图片来源网络,侵删)
  • Anypoint Exchange (资产共享中心):

    一个类似应用商店的中央仓库,用于共享、发现和重用 API、连接器、模板等资产,它鼓励了“不要重复造轮子”的文化。

  • Anypoint Manager (管理中心):

    提供统一的控制台,用于监控、管理、配置和部署所有在 Mule 运行时上运行的 API 和集成流程,提供日志、指标、告警等功能。

  • Anypoint Connectors (连接器):

    预封装好的、与各种 SaaS 和本地系统(如 Salesforce, SAP, Dropbox, JMS, Kafka 等)交互的组件,开发者可以像搭积木一样,将它们拖入流程中,实现快速连接。

  • Anypoint Studio (设计工具):

    基于 Eclipse 的图形化集成设计环境,开发者可以通过拖放组件、配置属性的方式,以“低代码”或“无代码”的方式设计和构建 API 和集成流程,它最终会生成标准的 XML 配置文件。

Mule Runtime (Mule 运行时)

这是执行集成逻辑的“引擎”或“心脏”。

  • 功能: 负责加载和执行在 Anypoint Studio 中创建的集成应用(.zip 文件)。
  • 核心: 基于 ESB (Enterprise Service Bus) 架构,但它是一个轻量级、基于云原生架构的现代 ESB。
  • 特点:
    • 事件驱动: 响应各种事件(如 HTTP 请求、JMS 消息、文件变化)来触发流程。
    • 高性能、高可用: 采用异步、非阻塞的 I/O 模型,能处理高并发请求。
    • 连接器驱动: 几乎所有的功能都通过连接器实现,扩展性极强。
    • 部署灵活: 可以部署在 CloudHub (MuleSoft 的 PaaS)Kuberneteson-premise (本地数据中心)Runtime Fabric (混合云/本地环境) 等多种环境中。

Anypoint API Platform (API 平台)

这是专门用于设计、发布、管理和保护 API 的平台,是 API-led Connectivity 的具体实现工具。

  • API Manager (API 管理器):
    • 设计: 提供工具(如 RAML, OAS)来设计和定义 API 的契约(Contract),包括端点、数据模型、安全策略等。
    • 发布: 将设计好的 API 契约与 Mule Runtime 中的实际实现关联起来,发布为可供调用的 API。
    • 管理: 提供完整的 API 生命周期管理,包括版本控制、弃用计划等。
    • 保护: 提供细粒度的访问控制、流量限制、IP 白名单等安全策略。
    • 监控: 提供实时的 API 调用监控、性能分析(如延迟、吞吐量)和 SLA(服务等级协议)跟踪。
    • 门户: 自动为每个 API 生成开发者门户,方便开发者查找、测试和订阅 API。

Anypoint Security (安全框架)

这是一个贯穿整个架构的安全层,为 API 和集成提供端到端的安全保障。

  • 身份认证: 支持 OAuth 2.0, JWT, API Key, Basic Auth 等多种标准认证协议。
  • 授权: 在 API 层面精细控制不同用户或应用对不同 API 端点的访问权限。
  • 数据加密: 支持 TLS/SSL 传输加密,以及对敏感数据的字段级加密。
  • 威胁防护: 防止常见的 Web 攻击,如 SQL 注入、跨站脚本等。

典型的架构示例

假设一个场景:为移动 App 提供一个“查看用户订单历史”的功能。

  1. System API 层:

    • 创建一个 SAP_Order_System_API,使用 SAP 连接器直接从 SAP 系统中查询订单数据。
    • 创建一个 Customer_Data_System_API,使用数据库连接器从客户关系管理数据库中查询客户信息。
  2. Process API 层:

    • 创建一个 Get_Customer_Order_History_Process_API
    • 这个 API 的逻辑是:接收一个 customerId,然后调用 Customer_Data_System_API 验证客户,接着调用 SAP_Order_System_API 获取该客户的订单列表,最后将两个数据源的信息进行聚合和格式化。
  3. Experience API 层:

    • 创建一个 Mobile_Order_History_Experience_API
    • 这个 API 是一个 RESTful API,接收来自移动 App 的请求(如 GET /api/v1/orders/history)。
    • 它内部调用 Get_Customer_Order_History_Process_API 获取处理好的数据。
    • 它只将移动 App 需要的字段(如订单ID、日期、金额、状态)以 JSON 格式返回给 App,它还负责处理 API Key 认证和速率限制。

数据流: 移动 App -> Experience API (认证、限流) -> Process API (业务逻辑、数据聚合) -> System API (数据获取) -> SAP/数据库 -> 返回数据流。


架构优势总结

  • 加速创新: 通过复用 API,新应用和功能的开发周期从数月缩短到数天或数周。
  • 提升用户体验: 为不同渠道(移动、Web、IoT)提供量身定制的、一致的 API 体验。
  • 增强安全与合规: 集中式、标准化的安全策略和治理,确保所有 API 都符合企业规范。
  • 降低总体成本: 减少重复开发,提高 IT 资产利用率,并简化维护工作。
  • 实现真正的 API 经济: 将 API 作为核心产品,赋能内部和外部合作伙伴,创造新的商业模式。

MuleSoft 的技术架构是一个以 API-led Connectivity 为指导,

分享:
扫描分享到社交APP
上一篇
下一篇