ARTICLE / 2 MIN READ
API 网关的高并发路由与连接管理
从连接复用、鉴权缓存、限流和路由灰度出发,搭建承接流量的第一道稳定边界。
网关是所有请求都会经过的地方。它既不能成为新的单点瓶颈,也不能把复杂业务逻辑全部塞进来。高并发网关主要负责连接、流量和策略,业务服务负责领域处理。
连接复用先于扩容
HTTP Keep-Alive、HTTP/2 多路复用和合理的连接空闲时间可以减少 TCP 与 TLS 握手。客户端、网关和上游服务的空闲连接池都要设置上限,避免大量空闲连接占用文件句柄和内存。
一个请求的总延迟应拆成排队、连接获取、鉴权、路由、上游处理和响应写回,不能只看上游服务的耗时。
鉴权与策略缓存
JWT 验签可以在网关本地完成,公钥和租户权限配置使用版本化缓存。权限变化后通过消息通知失效,缓存不可用时不能默认放行高风险写接口。
路由匹配应使用预编译规则,避免每次请求遍历大量正则。灰度按用户、租户或请求头分桶,并把分桶结果记录到响应头,方便排查流量去向。
网关限流的层次
全局并发上限
-> 租户/用户配额
-> 接口令牌桶
-> 上游连接池
-> 单请求超时
多个实例共享的配额可以放 Redis,但网关本地仍应保留一个快速熔断上限,防止 Redis 延迟时请求无限进入。
失败响应要统一
网关把上游超时、限流、熔断和业务错误映射为稳定的错误码,携带 trace ID 和 Retry-After。客户端根据错误码决定是否重试,不能对所有 5xx 立即重放。
观测与验收
按路由、租户和状态码记录 QPS、P50/P95/P99、连接池等待、上游超时、限流次数和重试次数。压测要覆盖短连接、长连接、慢上游、证书轮换和配置热更新。
网关做得好,业务服务看到的是有边界、可预测的流量;网关做得差,所有下游的故障都会被放大。
GITHUB DISCUSSION
评论与回复
评论保存在 GitHub Discussions,登录 GitHub 后即可参与,发布和回复都在本页完成。
评论区进入视口后自动加载。