上一题下一题

Spring Cloud Gateway 的 Route Predicate 与 Gateway Filter 分别负责哪些阶段,匹配成功后如何形成过滤链?

基础版
来源:alibaba高级工程师过滤器链Gateway FilterRoute PredicateSpring Cloud Gateway
草稿该题目为草稿状态,前台公开题库中不可见。
答案解析

在 Spring Cloud Gateway 里, Route Predicate 负责路由匹配阶段 , Gateway Filter 负责请求和响应的处理阶段 。

请求到达后,Gateway 会依次检查路由配置中的 Predicate。Predicate 通常根据请求路径、请求方法、请求头、Host、时间等条件判断是否匹配。匹配到路由后,该路由对应的目标 URI 和路由级 Filter 配置就确定下来;如果没有路由匹配,请求通常会返回 404。

确定路由后,Gateway 会把配置的 Global Filter 和该路由上的 Gateway Filter 合并,按 Ordered 或 order 排序,形成一条过滤链。请求沿着过滤链依次经过各个 Filter,Filter 可以在调用后续链路前处理请求,也可以在后续处理完成后处理响应。链路最终通过路由转发器将请求发送到目标服务,响应再沿过滤链返回。

所以,Predicate 决定“这个请求交给哪条路由”,Filter 决定“请求和响应在转发过程中如何处理”,例如鉴权、限流、修改请求头、重写路径或记

登录后查看完整内容