Spring Cloud Gateway 2026全景功能地图(架构师落地版)

5 阅读5分钟

Spring Cloud Gateway 全景功能地图(架构师落地版)

功能域功能点优先级星级
(必做程度)
典型使用场景落地做法与配置关键避坑红线
流量入口动态路由P0⭐⭐⭐⭐⭐
5/5
微服务上下线自动感知;按客户端类型分流(App vs Web)对接 Nacos/Eureka,禁用 IP 硬编码。
配置示例:spring.cloud.gateway.routes[0].uri=lb://user-service
严禁手动维护 IP 列表,重启网关才能改路由是架构失职
负载均衡P0⭐⭐⭐⭐⭐
5/5
后端多实例流量分配;故障实例自动剔除集成 Spring Cloud LoadBalancer,开启健康检查。
重试策略:GET 可重试 1 次,POST/PUT 禁止自动重试
默认的轮询不一定最优,对长尾请求用 ResponseTime 加权算法
安全防护统一鉴权P0⭐⭐⭐⭐⭐
5/5
所有请求统一验 JWT,避免每个服务重复实现只验签和过期时间(exp),不解密业务敏感字段。
验签失败直接 401,不往后传
严禁在网关层查数据库/Redis 做权限校验,这会让网关成为瓶颈
HTTPS 卸载P1⭐⭐⭐⭐
4/5
统一证书管理,后端专注业务;支持 HTTP/2网关层配置 SSL 证书,内部转 HTTP。
证书到期只换网关配置,不动 100 个微服务
注意证书链完整性,部分安卓低版本对证书链要求严格
敏感数据脱敏P2⭐⭐⭐
3/5
日志审计要求;防止手机号/身份证泄漏自定义 Filter,用正则匹配 \d{18} 等,替换为 ****
只针对 DEBUG/INFO 级别日志
脱敏规则别太激进,别把正常 JSON 结构破坏导致下游解析失败
稳定性治理限流熔断P0⭐⭐⭐⭐⭐
5/5
大促防刷;下游服务故障时自保限流:单用户 10次/秒(本地),全局限流用 Redis Lua 脚本。
熔断:5 秒内错误率>50% 触发,30 秒后半开试探
熔断后要返回 503 + 友好提示,别返回 500 让前端以为业务错了
超时控制P0⭐⭐⭐⭐⭐
5/5
防止慢请求拖垮连接池;避免级联等待全局设置 response-timeout: 5s
针对特定接口可单独配置(如文件上传 60s)
严禁不设置超时,默认无限等待会导致连接池耗尽,全站宕机
重试机制P1⭐⭐⭐⭐
4/5
网络抖动时的自动容错仅对幂等的 GET/HEAD 开启,retry-on: IOException
最多重试 1 次,且避开上次失败的实例
POST 下单接口如果重试,可能导致重复扣款,这是生产事故
发布运维灰度发布P1⭐⭐⭐⭐
4/5
新版本先给内部员工试用;金丝雀放量Header 匹配:X-User-Id=10086X-Version=v2 走新集群。
配合前端动态打标
灰度标识要全链路传递(通过 Header 透传),下游服务也要能识别
配置热更新P1⭐⭐⭐⭐
4/5
调整限流阈值、新增路由不用重启对接 Nacos/Apollo,监听配置变更事件。
路由表存在内存 + 本地文件备份
热更新失败要有兜底(保留上次有效配置),别更新失败就清空路由表
健康检查P1⭐⭐⭐⭐
4/5
K8s 探针判断容器存活;自动扩缩容依据暴露 /actuator/health,包含 Redis/注册中心连接状态。
非 UP 状态让 K8s 自动重启
健康检查接口本身要做限流,别被刷爆了误判为不健康
可观测性日志追踪P1⭐⭐⭐⭐
4/5
线上故障定位;性能瓶颈分析每个请求生成 TraceId,写入 MDC。
接入 SkyWalking/Pinpoint,采样率 10%(高并发下全量采集会死)
日志别打印 Request/Response Body,量太大且易泄漏隐私
指标监控P1⭐⭐⭐⭐
4/5
实时 QPS/延迟/错误率看板;告警暴露 Prometheus 端点,监控 gateway_requests_seconds 等指标。
告警规则:P99 延迟>1s 或错误率>1%
监控数据也要限流,别监控本身把网关拖慢
协议适配协议转换P1⭐⭐⭐⭐
4/5
前端 HTTP 调后端 gRPC;WebSocket 长连接HTTP JSON 转 gRPC 用 GrpcGatewayFilter
WebSocket 连接状态存 Redis,支持网关水平扩展
WebSocket 要注意心跳检测,假连接过多会占满文件描述符
请求重写P2⭐⭐⭐
3/5
老接口兼容(/v1 映射到 /v2);统一加请求头RewritePath Filter:/api/(?<segment>.*) → /v2/$\{segment}
统一加 X-Real-IP 透传真实 IP
重写规则别太复杂,正则太多会影响网关吞吐性能
进阶能力边缘计算P2⭐⭐⭐
3/5
IP 转城市;简单数据聚合(BFF)轻量级逻辑:查本地 IP 库返回地域信息。
缓存热点数据(Caffeine,TTL 30s)
严禁在网关做事务操作(如下单、扣款),这是架构越界
多租户隔离P2⭐⭐⭐
3/5
多部门共享网关;SaaS 多客户隔离按 Header X-Tenant-Id 路由到不同集群。
线程池隔离:重要业务独立 EventLoop
租户标识要做校验,防止伪造 Header 访问其他租户数据
请求镜像P2⭐⭐
2/5
复制线上流量到测试环境,做真实压力测试RequestRateLimiter 旁路复制,只复制 GET 请求。
镜像请求异步发送,不影响主链路延迟
镜像流量别调用真实支付/短信接口,否则可能重复扣费或骚扰用户

⭐ 星级含义速查(打印贴工位版)

星级含义不做后果落地时间
⭐⭐⭐⭐⭐ P0生死线 架构底线系统随时雪崩、数据泄漏、全面宕机,属于P0 事故上线前必须搞定
⭐⭐⭐⭐ P1生产力 工程刚需无法灰度、排查困难、运维痛苦,团队天天加班救火1 个月内补齐
⭐⭐⭐ P2竞争力 体验优化功能可用但体验差,大促可能扛不住,或无法满足合规按需迭代
⭐⭐ 选修加分项 特定场景锦上添花,非核心能力,不做不影响主线业务有空再说

一句话 checklist(⭐⭐⭐⭐⭐ 必做项)

✅ 路由用服务名(lb://),别写死 IP  
✅ 只验 JWT 签名,不查库验权  
✅ POST 请求不重试,GET 可试 1 次  
✅ 必须设超时,必须配熔断  
✅ 日志采样打,别全量写磁盘  
✅ 证书放网关,后端全走 HTTP