Appearance
API 网关:入口治理、权限与故障边界
修订于 2026-10-12。本文不包含本站生产选型经历或未经核实的吞吐数字。
API 网关可提供统一入口,处理路由、入口认证、限流、请求日志和协议转换等横切需求。但网关不是业务授权的唯一承担者:下游服务仍需校验与自身资源相关的权限,避免“经过网关”被误认为“任意操作均已授权”。
先界定职责
| 职责 | 设计要点 |
|---|---|
| 路由 | 明确路径、版本、健康后端与回退策略 |
| 身份验证 | 验证令牌、受众、有效期和签名,并安全传递身份上下文 |
| 限流 | 定义按谁限流、突发容量和超额反馈 |
| 观测 | 记录请求标识、后端、状态、耗时;避免泄露敏感数据 |
| 聚合 | 适合减少多次客户端往返,但会增加网关依赖和故障范围 |
Azure 的网关聚合模式特别提醒:聚合逻辑可能与路由等基础能力争夺资源。若聚合复杂,可放到网关后面的专用服务。
故障与容量
网关位于大量请求的共同路径上。部署时要检查多实例容错、配置发布回滚、认证服务不可用时的行为、后端超时与重试预算。把入口 429、5xx、延迟与后端错误分开监控,才能辨别限流、网关自身故障和下游问题。
评估产品时用真实路由、认证规则和请求体大小测试,并计算运维复杂度。少量服务可能只需要反向代理与应用内授权;复杂的多客户端系统则可能受益于 API 管理能力。