API Gateway
API Gateway 提供统一流量入口,可承担路由、认证、限流与协议适配;与 BFF 和防腐层职责不同。
#concept
#evergreen
#backend
#architecture
[!info] related notes
- 入口: 后端架构 MOC, AI Agent Application MOC
- 职责区别: BFF, 防腐层
- 支撑能力: 限流, Auth & RBAC, SSE Gateway
API Gateway
API Gateway 为一组后端 API 提供统一流量入口,按配置将请求路由到服务,并可集中承担认证、限流、TLS 终止、日志或协议适配。
这些是可选职责,不是每个网关都天然具备全部能力。统一入口也不意味着后端可任意改变客户端契约。
在系统中的位置
客户端 → API Gateway → 业务服务 / BFF → 其他服务
例如聊天 API 可以经网关进入 BFF,再调用 AI Service。这只是架构示例;实现不限定 Nginx、Go 或 Python,也不说明某个现有项目已经部署该链路。
- Gateway:统一入口和流量策略。
- BFF:面向某类客户端适配数据与交互。
- ACL:在不同模型之间进行语义翻译。
小系统可以在一个部署单元中承担多个角色;规模、团队边界或独立运维需求明确时再拆分。
常见实现选择
- Nginx 等反向代理可承担路由、TLS 与部分流量控制;认证、策略管理等能力取决于模块和配置。
- 自建服务可做聚合、认证或协议转换,但需要维护连接、重试、错误语义与监控。
- 云厂商 API 产品提供托管能力,需按具体产品核对功能、配额和计费,不能只凭“Gateway”名称视为可互换。
关键边界
- 网关验证凭证不替代服务内的资源授权、租户隔离与业务不变量检查。
- CORS 是浏览器响应访问策略,不是身份认证;只验证 JWT 格式也不等于完成认证。
- 请求聚合可以放在入口层,但核心业务状态和事务不应因此失去明确所有者。
- 超时、重试和限流要与下游语义匹配,避免对非幂等写入自动重放。
- 流式接口还需检查缓冲、刷新、空闲超时、事件边界与断线行为,见 sse-gateway。
- 集中入口可能成为故障或容量瓶颈,应按需要验证高可用和容量,而不是假定多一层就更可靠。