Spring Cloud Gateway 的工作原理?

Spring Cloud 面试题发布于

一、核心概念

  • Route:路由,由 ID、目标 URI、断言、过滤器组成。
  • Predicate:断言,匹配 HTTP 请求的条件(路径、方法、Header 等)。
  • Filter:过滤器,请求前后处理(鉴权、限流、日志、修改请求/响应)。

二、执行流程

  1. 请求进入 Gateway,由 HandlerMapping 匹配路由。
  2. 匹配成功后,请求经过过滤器链。
  3. 过滤器分 pre(请求转发前)和 post(响应返回前)。
  4. 最终请求转发到目标服务,响应返回。

三、全局过滤器

  • GlobalFilter:对所有路由生效,如负载均衡(LoadBalancerClientFilter)、路由转发。
  • 自定义全局过滤器需实现 GlobalFilter 和 Ordered。

四、与 Zuul 区别

Gateway 基于 WebFlux 异步非阻塞,性能更好;Zuul 1.x 同步阻塞。