API 网关(API Gateway)是微服务或 Serverless 架构中的统一入口,对外暴露单一或少量端点,对内将请求路由到不同后端服务,并承担限流、认证、鉴权、熔断、日志等横切关注点。本文介绍 Kong、APISIX、Nginx 等主流网关的对比与选型,以及路由、限流、JWT 验证的配置实践。
一、API 网关为何重要
网关将路由、安全、可观测等能力集中管理,避免在每个服务重复实现。根据各云厂商与开源实践,网关是微服务与 Serverless 的标配组件。
二、API 网关对比
| 网关 | 类型 | 优势 | 适用 |
|---|---|---|---|
| Kong | 开源/云 | 插件丰富、生态成熟 | 企业级 |
| APISIX | 开源 | 高性能、动态配置 | 云原生 |
| Nginx + Lua | 自建 | 灵活、可控 | 已有 Nginx |
| 云厂商网关 | 托管 | 免运维、与云集成 | 上云项目 |
数据来源:各网关官方文档与社区对比(综合整理)。
三、路由、限流与认证
路由:按 path、header、host 等匹配规则将请求转发到后端服务,可配置权重、灰度。限流:按 IP、API Key、用户等维度限制 QPS 或并发,防止过载。认证:在网关层校验 JWT 签名与过期时间,或代理 OAuth2 流程;通过后可注入用户信息到 Header 再转发。可参考《API 安全设计最佳实践》。
四、选型要素权重
基于网关落地经验,以下要素的影响程度(相对权重,满分 100):
说明:权重基于 API 网关项目实践归纳,仅供参考。
五、小结
API 网关选型需结合规模与运维能力。路由、限流、认证是核心能力。若需 Serverless API 设计,可阅读《Serverless 架构实践指南》;若需云原生编排,可参考《云原生应用实践》。