API Gateway
API Gateway 是统一入口层,负责路由、鉴权、限流、协议转换和请求聚合。在 AI Agent 应用中,它是前端和后端服务之间的统一入口。
#type / concept
#status / evergreen
#tech / backend
#tech / architecture
[!info] related notes
- 所属 MOC: AI Agent Application MOC
- 相关: BFF, Rate Limiting, Auth & RBAC
API Gateway
一句话定义
API Gateway 是统一入口层,负责路由、鉴权、限流、协议转换和请求聚合。它让前端只需要知道一个地址,后端可以自由拆分服务。
核心原理
Gateway 职责
前端请求
│
▼
API Gateway
├─ 路由: /api/chat → Go BFF, /api/auth → Auth Service
├─ 鉴权: 验证 JWT Token
├─ 限流: 每用户每分钟 60 次
├─ 协议转换: HTTP → gRPC
├─ CORS: 处理跨域
├─ 日志: 记录请求
└─ 错误处理: 统一错误格式
在 AI Agent 应用中的位置
React ──→ API Gateway ──→ Go BFF ──→ Python AI Service
(Nginx/Go) (业务) (Agent)
通常 Go BFF 本身就承担了 Gateway 的职责,不需要额外的独立 Gateway。
常见设计模式
1. Nginx 作为 Gateway
用 Nginx 做反向代理、限流、SSL 终止。
2. Go 作为 Gateway
Go 服务本身承担 Gateway 职责,路由到不同的内部服务。
3. 云厂商 Gateway
AWS API Gateway、Azure API Management、Cloudflare API Gateway。
常见坑
- Gateway 变成单点故障: 没有高可用
- Gateway 做太多业务逻辑: Gateway 应该只做路由和横切关注点
- 不做超时设置: 上游服务挂了,Gateway 一直等