跳到主要内容

Concepts

APIM 系统由关键实体和组件组成,这些实体和组件协同工作以支持完整的 API 生命周期管理。本节定义了每个概念、它在系统中的角色以及它如何促进 API 的开发、发布和消费。

API 管理器

Definition: API 管理器是一个系统用户,负责在整个生命周期内定义、配置和维护 API。

System Location: 使用 APIM 控制台进行所有配置和管理任务。

Key Responsibilities:

  • 开发和注册后端服务
  • 定义 API 端点和规范
  • 编写和管理 API 文档
  • 配置路由和策略执行
  • 将 API 发布到指定的网关

API 用户

Definition: API 用户是一个开发者或应用团队,消费在平台上发布的 API。

System Location: 通过开发者门户和前端应用与系统进行交互。

Key Responsibilities:

  • 访问和查看 API 文档
  • 请求 API 访问和身份验证凭据
  • 将 API 集成到前端应用(Web/移动)
  • 监控使用情况并管理 API 令牌

后端服务

Definition: 后端服务是 API 暴露的核心业务逻辑或数据处理单元。

System Location: 位于 APIM 系统之外,但通过它注册和访问。

Function:

  • 接收和处理 API 请求
  • 通过网关向客户端返回结构化数据或服务结果

前端应用

Definition: 一个面向消费者的 Web 或移动应用,利用 API 向最终用户提供业务功能。

System Location: 由 API 用户在外部构建和操作。

Function:

  • 向 API 网关发送结构化请求
  • 接收并向最终用户显示 API 响应
  • 作为基于 API 的交互的客户端接口

API 网关

Definition: API 网关是一个核心运行时组件,负责执行策略、路由流量和处理 API 调用。

System Location: 位于前端应用和后端服务之间。

Key Functions:

  • 验证和认证传入的 API 请求
  • 应用请求和响应策略(例如,限流、转换)
  • 将请求路由到适当的后端服务
  • 支持多个项目之间的复制、可扩展性和隔离

APIM 控制台 (API 管理控制台)

Definition: APIM 控制台是管理 API、策略、网关和项目的主要管理界面。

Target Users: API 管理员、平台管理员

Key Functions:

  • 定义、注册和发布 API
  • 配置策略和访问规则
  • 创建和管理 API 网关
  • 监控 API 使用情况、性能和系统日志

开发者门户

Definition: 开发者门户是一个自助平台,供 API 用户发现、探索和访问发布的 API。

Target Users: 内部团队、合作伙伴开发者、外部消费者

Key Functions:

  • 浏览可用的 API 和文档
  • 请求 API 访问并管理凭据
  • 跟踪个人使用情况和审批状态
  • 作为开放 API 协作的接口

API 测试门户

Definition: 一个专用工具,用于实时测试 API,使用请求/响应模拟。

Target Users: API 管理员和 API 用户

Key Functions:

  • 发送带有参数和头的示例请求
  • 验证 API 的功能正确性
  • 使用 API 密钥或令牌等身份验证方法
  • 在生产使用前调试 API 行为

租户管理控制台 (用户管理)

Definition: 租户管理控制台为平台级管理员提供用户和项目管理功能。

Target Users: 系统级管理员

Key Functions:

  • 创建和管理用户和项目
  • 分配角色、权限给用户
  • 将用户分配到项目中

API

Definition: API(应用程序编程接口)是通过 APIM 平台暴露给消费者的主要服务单元。

System Location: 在 APIM 控制台中注册和发布,通过网关访问

Attributes:

  • 使用 Swagger/OpenAPI 定义
  • 连接到后端服务
  • 受生命周期管理和政策的约束
  • 被前端应用或外部系统消费

API 文档

Definition: 结构化的技术文档,描述如何消费 API。

System Location: 在 APIM 控制台中创建并发布到开发者门户

Contents Include:

  • 端点描述和方法
  • 输入参数和输出结构
  • 身份验证要求和使用示例

API 策略

Definition: API 策略是一组规则,管理 API 请求和响应如何被 API 网关处理。这些策略控制访问、安全性、数据转换和流量行为。

Policy Placement: 策略在 API 流程的两个不同阶段应用:

  • Inbound Policies (Request Policies): 在请求到达后端服务之前应用。目的:
    • 认证调用者(例如,API 密钥、令牌、OAuth)
    • 转换或预处理请求,例如验证头、有效负载或参数格式。
    • 应用速率限制和配额执行
    • 执行路由决策或头部增强
  • Outbound Policies (Response Policies): 在响应从后端返回但在到达 API 用户之前应用。目的:
    • 在响应体中掩盖敏感数据
    • 转换响应格式(例如,从 XML 到 JSON)
    • 添加或修改响应头
    • 记录响应内容或状态码
System Location:
  • 在 APIM 控制台中配置
  • 由 API 网关动态执行
Usage Scenario:

当 API 用户发送请求时,网关首先应用入站策略以检查身份验证和有效性。一旦请求被路由到后端并生成响应,出站策略将被应用,以确保响应符合安全性、格式或日志记录要求,然后再返回给前端应用。

多网关管理

Definition: 定义和操作多个网关的能力,每个项目限制为一个单一网关。

Purpose and Benefits:

  • 项目之间的流量隔离
  • 通过资源特定的部署实现可扩展性
  • 支持滚动更新和复制控制
  • 按团队、部门或租户灵活部署

API 生命周期

Definition: API 创建、部署和操作的端到端过程。

Lifecycle Stages:

  1. 后端服务开发
  2. API 定义和文档
  3. 网关创建和策略设置
  4. API 发布
  5. 测试和前端集成
  6. 运行时请求/响应执行
  7. 监控和版本控制

API 请求和响应流程

Definition: API 调用从消费者到提供者再返回的实际运行时序列。

Flow Steps:

  1. 前端应用向 API 网关发送请求
  2. 网关应用请求策略
  3. 请求被路由到后端服务
  4. 生成并返回响应
  5. 网关应用响应策略
  6. 最终响应发送到前端应用