Spring Cloud Gateway 的工作原理?
Spring Cloud 面试题发布于
一、核心概念
- Route:路由,由 ID、目标 URI、断言、过滤器组成。
- Predicate:断言,匹配 HTTP 请求的条件(路径、方法、Header 等)。
- Filter:过滤器,请求前后处理(鉴权、限流、日志、修改请求/响应)。
二、执行流程
- 请求进入 Gateway,由 HandlerMapping 匹配路由。
- 匹配成功后,请求经过过滤器链。
- 过滤器分 pre(请求转发前)和 post(响应返回前)。
- 最终请求转发到目标服务,响应返回。
三、全局过滤器
- GlobalFilter:对所有路由生效,如负载均衡(LoadBalancerClientFilter)、路由转发。
- 自定义全局过滤器需实现 GlobalFilter 和 Ordered。
四、与 Zuul 区别
Gateway 基于 WebFlux 异步非阻塞,性能更好;Zuul 1.x 同步阻塞。