1. API Gateway 基础概念
1.1 什么是 API Gateway
API Gateway(API 网关)是微服务架构中位于客户端与后端服务之间的统一入口层。它负责接收所有外部请求,按照路由规则将请求转发到对应的微服务实例,并在请求流转过程中执行认证、限流、日志、协议转换等横切关注点。在性能调优语境下,API Gateway 是超时配置与并发控制的第一道关卡,其配置质量直接影响整个系统的吞吐与稳定性。
核心定位:API Gateway 不是简单的反向代理,而是集成了流量治理、安全防护、可观测性能力的“流量总闸”。
1.2 核心功能
API Gateway 的核心功能可归纳为以下三大类,每类都与超时和并发优化直接相关:
| 功能类别 | 具体能力 | 与超时/并发的关联 |
|---|---|---|
| 路由 | 路径匹配、负载均衡、版本路由、灰度发布 | 路由超时决定请求在多长时间内必须找到目标服务;并发路由策略影响后端连接池分配 |
| 认证 | JWT 校验、OAuth2 代理、API Key 验证、IP 白名单 | 认证过程本身消耗时间,超时配置需覆盖认证阶段;高并发下认证缓存策略影响吞吐 |
| 限流 | 令牌桶、漏桶、滑动窗口、并发数限制 | 限流直接控制并发上限,超时排队策略决定请求在限流等待时的处理方式 |
除上述三大核心功能外,现代 API Gateway 还承担以下职责:
- 协议转换:HTTP ↔ gRPC、HTTP/1.1 ↔ HTTP/2,转换过程引入额外延迟,需纳入超时预算。
- 请求/响应转换:Header 改写、Body 校验、参数聚合,转换逻辑的复杂度影响单请求处理时间。
- 熔断与降级:当后端服务超时或失败率达到阈值时,Gateway 快速返回降级响应,避免线程阻塞。
- 可观测性:全链路追踪、指标采集、访问日志,采集开销在高并发下不可忽视。
1.3 在微服务架构中的位置与作用
下图展示了 API Gateway 在典型微服务架构中的位置,以及它与客户端、微服务集群、注册中心、配置中心的关系:
1.4 API Gateway 在性能调优中的关键作用
从性能调优视角看,API Gateway 承担以下不可替代的角色:
- 超时边界定义者:Gateway 为每个上游请求设置全局超时、路由超时、后端连接超时,防止慢请求无限占用线程池。
- 并发水位控制器:通过限流器、连接池、信号量机制,控制同时进入后端服务的请求数量,避免后端被突发流量冲垮。
- 熔断降级决策者:当后端服务响应变慢或错误率升高,Gateway 主动熔断,快速失败,保护整体系统稳定性。
- 延迟与吞吐的观测点:Gateway 是天然的指标采集点,所有请求的延迟分布、错误率、并发数在此汇聚,为调优提供数据基础。
调优第一原则:在微服务架构中,API Gateway 的超时配置必须小于客户端等待超时,且大于后端服务 P99 响应时间。这个“时间窗口”是并发优化的核心约束。
1.5 常见 API Gateway 产品对比
不同 API Gateway 产品在超时配置和并发模型上存在差异,了解这些差异有助于选择适合业务场景的网关:
| 产品 | 超时配置粒度 | 并发模型 | 适用场景 |
|---|---|---|---|
| Kong | 全局、路由、上游、插件级 | Nginx Worker 多进程 + Lua 协程 | 企业级 API 管理、插件生态丰富 |
| APISIX | 路由、上游、插件级,支持动态更新 | Nginx Worker + Lua 协程 + RADIX 树路由 | 高性能、动态配置、Kubernetes 集成 |
| Spring Cloud Gateway | 全局、路由、过滤器级 | Reactor Netty 事件驱动 + 非阻塞 I/O | Java/Spring 技术栈、响应式编程 |
| Envoy | 集群、端点、请求级,xDS 动态下发 | 事件驱动 + 线程池 + 连接池 | Service Mesh 数据面、高性能代理 |