Skip to content

概念卡片:Gateway 网关

一句话机制:网关是微服务的统一入口——所有外部请求先到网关,网关按路由规则转发到对应服务,并在此统一做鉴权、限流、日志、跨域等横切逻辑;Spring Cloud Gateway 基于响应式非阻塞的 Netty 实现,性能优于阻塞式的 Zuul。

核心职责

职责说明
路由转发按 path/header 把请求转发到目标服务
统一鉴权登录态校验、权限过滤(不必每个服务都做)
限流/熔断配合 Sentinel/Redis 做流量控制
日志/监控统一记录请求链路

Gateway vs Zuul(完整对比)

维度Spring Cloud GatewayZuul
开源组织Spring 官方子项目Netflix
底层实现Spring 5+ 响应式、非阻塞Servlet 2.5 阻塞式
内嵌容器NettyTomcat
长连接支持 WebSocket不支持
性能高并发/慢响应下更优高并发下较弱

不变量(必须成立的约束)

  • 网关是外部访问的唯一入口,内部服务不直接暴露给外部。
  • Gateway 是**响应式(WebFlux)**技术栈,路由配置用 Route + Predicate(断言)+ Filter(过滤器)。
  • 横切逻辑(鉴权/限流/日志)应收敛到网关,避免每个服务重复实现。

踩坑案例

  • 现象:Gateway 转发后服务收到的是 404 或路径错乱。 原因:路由 StripPrefix/路径重写配置错。解决:核对 Predicate 匹配的 path 和 Filter 的路径处理。

常见误解

  • 以为网关只是「反向代理」→ 它除了转发还承担鉴权、限流、路由断言、过滤器链等横切职责。
  • 以为 Zuul 和 Gateway 性能差不多 → Gateway 响应式非阻塞,高并发慢后端场景明显优于阻塞式 Zuul。

关联

最近更新