用途
API Gateway Configuration 用于设计和配置 API 网关,帮助在微服务架构中统一处理路由、认证、限流以及请求/响应转换。它面向需要为微服务搭建反向代理、集中管理 API 认证、实施请求与响应转换、管理后端服务流量、执行限流与配额、以及进行 API 版本化与路由的工程场景。
主要能力
该技能围绕 API 网关的核心配置展开,涵盖以下方面:
- 路由:将外部请求路径映射到后端服务,例如将 /api/users 和 /api/profile 路由到 user-service。
- 认证:在网关层集中处理认证,示例中使用 JWT 插件,通过 secret 和 key_claim_name 进行校验。
- 限流:通过插件实施速率限制,示例中配置为每分钟 100 次,策略为 local。
- 请求/响应转换:资料在概述中提及支持请求与响应转换,但未提供具体配置示例。
- CORS:示例中配置了允许的来源,如 http://localhost:3000。
使用方式
资料提供了一个 Kong 网关的最小可用配置示例(kong.yml),格式版本为 2.1,启用 _transform。配置中定义了一个名为 user-service 的服务,指向 http://user-service:3000,并为其添加名为 user-routes 的路由,路径为 /api/users 和 /api/profile。该服务挂载了三个插件:rate-limiting(minute: 100,policy: local)、jwt(secret: your-secret-key,key_claim_name: "sub")以及 cors(origins: http://localhost:3000)。资料说明完整实现可参考 references/ 目录下的详细指南。
参考指南
资料列出了以下参考指南,分别覆盖不同网关或实现方式:
- Kong Configuration
- Nginx Configuration
- AWS API Gateway Configuration
- Traefik Configuration
- Node.js Gateway Implementation
适用场景
根据资料中的“When to Use”,该技能适用于:
- 为微服务设置反向代理
- 集中化 API 认证
- 实现请求/响应转换
- 管理跨后端服务的流量
- 限流与配额执行
- API 版本化与路由
最佳实践
资料给出了明确的 DO 与 DON'T 清单。
建议做法(DO):
- 在网关层集中认证
- 全局实施限流
- 添加完善的日志
- 对后端使用健康检查
- 在适当场景缓存响应
- 实现熔断器
- 监控网关指标
- 生产环境使用 HTTPS
不建议做法(DON'T):
- 暴露后端服务细节
- 跳过请求校验
- 忘记记录 API 使用情况
- 使用弱认证
- 过度缓存动态数据
- 忽略后端超时
- 跳过安全响应头
- 暴露内部 IP
限制
资料未提供具体的收费、价格、平台支持范围或效果数据。请求/响应转换的具体配置示例、各参考指南的详细内容以及 Node.js 网关实现细节在提供的资料中暂未展开,需查阅对应参考文件。