2. API 网关基础:什么是 API 网关、核心功能(路由、认证、限流)、在微服务架构中的位置
2.1 什么是 API 网关
API 网关(API Gateway)是微服务架构中所有客户端请求的单一入口点。它位于客户端与后端服务之间,负责请求转发、协议转换、横切关注点(如认证、限流、日志)的统一处理。在模型风险管理系统中,API 网关充当模型服务(评分引擎、特征工程、模型监控)与外部调用方(交易系统、风控前端、监管报送)之间的“守门人”。
核心定义:API 网关是一个反向代理服务器,将内部微服务 API 抽象为统一的对外接口,同时集中处理安全、流量控制和可观测性。
2.2 核心功能
API 网关的三大核心功能是路由、认证和限流。下表对比了这三项功能在模型风险管理场景下的具体职责:
| 功能 | 描述 | 模型风险场景示例 |
|---|---|---|
| 路由 | 根据请求路径、Header 或参数将请求转发到对应的后端服务实例。 | /api/v1/score/lr → 逻辑回归模型服务;/api/v1/score/xgb → XGBoost 模型服务。 |
| 认证 | 验证调用方身份(OAuth2、JWT、API Key),拒绝未授权请求。 | 只有持有有效 JWT 且角色为“模型审批员”的请求才能调用模型上线接口。 |
| 限流 | 控制单位时间内允许通过的请求数量,防止服务过载。 | 对高风险的信用评分模型接口限制每秒 100 次调用,防止批量探测。 |
2.3 在微服务架构中的位置
在典型的微服务架构中,API 网关位于客户端与内部微服务之间,是南北向流量的唯一入口。下图展示了模型风险管理系统中 API 网关的部署位置:
从上图可以看出,API 网关在模型风险管理架构中承担了以下关键职责:
- 流量收敛:所有模型调用请求统一经过网关,避免客户端直接感知后端服务地址变化。
- 安全隔离:网关层集中处理认证与鉴权,模型服务无需重复实现安全逻辑。
- 限流前置:在请求到达模型服务之前进行流量控制,保护模型计算资源不被突发流量打满。
- 可观测性:网关统一记录请求日志、响应时间、错误码,为模型风险监控提供原始数据。
2.4 网关在模型风险控制中的特殊价值
与通用业务网关不同,模型风险管理场景对 API 网关提出了额外的要求:
| 维度 | 通用业务网关 | 模型风险网关 |
|---|---|---|
| 限流粒度 | 按 API 路径或用户维度限流 | 按模型版本、模型类型、风险等级多维度限流 |
| 认证要求 | 用户身份认证 | 用户身份 + 模型使用权限 + 数据脱敏等级联合校验 |
| 审计日志 | 请求/响应日志 | 请求特征、模型版本、评分结果、漂移标记全链路审计 |
| 降级策略 | 返回错误或缓存 | 切换到备用模型、返回默认评分、触发人工审核 |
实践建议:在模型风险管理系统中,建议将 API 网关的限流策略与模型风险等级联动。例如,对“高影响 + 高不确定性”的模型接口实施更严格的限流阈值,并配置独立的降级路由。
2.5 常见 API 网关产品对比
下表列出了业界主流的 API 网关产品及其在模型风险管理场景中的适用性:
| 产品 | 类型 | 限流能力 | 模型风险场景适配 |
|---|---|---|---|
| Kong | 开源 / 企业版 | 基于计数器、滑动窗口、Redis 限流 | 插件丰富,可自定义模型版本路由 |
| APISIX | 开源 | 支持限流限速、并发控制、熔断 | 动态上游,适合模型灰度发布 |
| Spring Cloud Gateway | 开源(Java 生态) | 基于 Redis 的令牌桶限流 | 与 Spring Boot 模型服务无缝集成 |
| AWS API Gateway | 云托管 | 按阶段限流、使用计划限流 | 适合云上模型部署,内置监控 |
注意:选择 API 网关产品时,需评估其对自定义限流算法(如令牌桶、漏桶、滑动日志)的支持程度,以及是否能够与模型版本管理、A/B 测试等模型风险控制流程深度集成。