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)
- 添加或修改响应头
- 记录响应内容或状态码
- 在 APIM 控制台中配置
- 由 API 网关动态执行
当 API 用户发送请求时,网关首先应用入站策略以检查身份验证和有效性。一旦请求被路由到后端并生成响应,出站策略将被应用,以确保响应符合安全性、格式或日志记录要求,然后再返回给前端应用。
多网关管理
Definition: 定义和操作多个网关的能力,每个项目限制为一个单一网关。
Purpose and Benefits:
- 项目之间的流量隔离
- 通过资源特定的部署实现可扩展性
- 支持滚动更新和复制控制
- 按团队、部门或租户灵活部署
API 生命周期
Definition: API 创建、部署和操作的端到端过程。
Lifecycle Stages:
- 后端服务开发
- API 定义和文档
- 网关创建和策略设置
- API 发布
- 测试和前端集成
- 运行时请求/响应执行
- 监控和版本控制
API 请求和响应流程
Definition: API 调用从消费者到提供者再返回的实际运行时序列。
Flow Steps:
- 前端应用向 API 网关发送请求
- 网关应用请求策略
- 请求被路由到后端服务
- 生成并返回响应
- 网关应用响应策略
- 最终响应发送到前端应用