用途
该技能用于在微服务架构中实现生产级 API 网关,主要基于 Kong 网关并遵循行业最佳实践。它覆盖高级路由、认证、限流、负载均衡、流量管理与可观测性等模式,适合需要统一入口、集中治理 API 流量的场景。
主要能力
路由模式
- 基于路径的路由:按 URL 前缀将请求分发到不同后端服务,支持 strip_path、preserve_host 等选项。
- 基于请求头的路由:按 HTTP 头进行 A/B 测试、金丝雀发布或 API 版本控制,例如通过 X-API-Version 区分 v1 与 v2。
- 基于 HTTP 方法的路由:将读写请求分离到不同服务,适用于 CQRS 模式。
- 基于主机名的路由:面向多租户应用,按子域名路由,支持通配符。
- 加权路由:通过 upstream 与 target 权重实现金丝雀部署,逐步将流量从旧版本迁移到新版本。
限流模式
- 全局限流:保护整个 API,支持 local、cluster、redis 策略,可按 IP、消费者、凭证或服务限制。
- 消费者级限流:为不同套餐或层级设置不同限额,如免费、高级、企业级。
- 端点级限流:对昂贵操作设置更严格限制,对普通 CRUD 放宽,健康检查可不限流。
- 滑动窗口限流:使用 rate-limiting-advanced(Kong Enterprise)实现更精确的限流,避免固定窗口边界突发问题。
- 配额管理:按月或年设置长期使用配额,可按消费者组区分。
认证模式
- API Key 认证:通过 key-auth 插件校验 API 密钥,支持自定义头名称与隐藏凭证。
- JWT 认证:支持 HS256 与 RS256,可校验 exp、nbf 等声明,并限制最大过期时间。
- OAuth 2.0:支持授权码、客户端凭证等流程,可配置作用域、令牌过期与刷新令牌 TTL。
- OpenID Connect:集成 Google、Okta、Auth0、Azure AD 等身份提供商,支持多提供商配置。
- mTLS:基于证书的服务间双向认证,可上传 CA 证书并将证书映射到消费者。
负载均衡
- 轮询负载均衡:将请求均匀分发到服务实例,支持 slots 与主动健康检查配置。
使用方式
该技能以配置示例形式呈现,主要使用 YAML 描述 Kong 的 service、routes、plugins、consumers、upstreams、targets 等实体。用户可参考这些配置在 Kong 中声明式地定义网关行为。认证部分还给出了 curl 调用示例与 OAuth 2.0 授权码流程的请求示例。
适用场景
- 为微服务架构实现 API 网关。
- 管理流量路由、负载均衡与服务发现。
- 在网关层实现认证与授权。
- 实施限流、配额与流量策略。
- 为 API 流量添加可观测性、日志与监控。
- 实现请求/响应转换与缓存。
- 管理 API 版本与弃用策略。
- 设置熔断与弹性模式。
- 配置多环境 API 部署。
- 实施 API 安全策略(CORS、CSRF、WAF)。
- 构建开发者门户与 API 文档。
- 管理 API 从开发到生产的生命周期。
限制
资料中未提供该技能的安装命令、依赖要求、版本兼容性、收费信息或具体平台支持范围。部分高级限流功能(如 rate-limiting-advanced)标注为 Kong Enterprise,可能涉及商业版本。配额管理示例中使用了自定义插件(acme),并非 Kong 内置功能。其余未在资料中明确说明的内容暂未提供。