假设有三个服务:eureka-server,service-gateway,service-test
根据某处请求从gateway转发到service-test服务的时,gateway服务器的控制台打印情况:
DEBUG 18612 — [ctor-http-nio-4] o.s.c.g.handler.FilteringWebHandler : Sorted gatewayFilterFactories: [OrderedGatewayFilter{delegate=GatewayFilterAdapter{delegate=org.springframework.cloud.gateway.filter.AdaptCachedBodyGlobalFilter@540a903b}, order=-2147482648}, OrderedGatewayFilter{delegate=GatewayFilterAdapter{delegate=org.springframework.cloud.gateway.filter.NettyWriteResponseFilter@61fafb74}, order=-1}, OrderedGatewayFilter{delegate=GatewayFilterAdapter{delegate=org.springframework.cloud.gateway.filter.ForwardPathFilter@238acd0b}, order=0}, OrderedGatewayFilter{delegate=org.springframework.cloud.gateway.filter.factory.RewritePathGatewayFilterFactory$$Lambda$502/1813211634@29b5f049, order=1}, OrderedGatewayFilter{delegate=GatewayFilterAdapter{delegate=org.springframework.cloud.gateway.filter.RouteToRequestUrlFilter@58496dc}, order=10000}, OrderedGatewayFilter{delegate=GatewayFilterAdapter{delegate=org.springframework.cloud.gateway.filter.LoadBalancerClientFilter@4682eba5}, order=10100}, OrderedGatewayFilter{delegate=GatewayFilterAdapter{delegate=org.springframework.cloud.gateway.filter.WebsocketRoutingFilter@23811a09}, order=2147483646}, OrderedGatewayFilter{delegate=GatewayFilterAdapter{delegate=org.springframework.cloud.gateway.filter.NettyRoutingFilter@6d9fb2d1}, order=2147483647}, OrderedGatewayFilter{delegate=GatewayFilterAdapter{delegate=org.springframework.cloud.gateway.filter.ForwardRoutingFilter@151db587}, order=2147483647}]
以上order值越小,优先级越高。
另:自定义的过滤器若没有重写ordered,则根据定义的顺序,默认从1开始往上加
更多详细内容参考:https://www.jianshu.com/p/8fa0f75e83bc
https://segmentfault.com/a/1190000018947083
本文介绍了在SpringCloud Gateway中,当请求从gateway转发至service-test服务时,过滤器(filter)的执行顺序。控制台显示了排序后的gatewayFilterFactories,order值越小,优先级越高。未指定顺序的自定义过滤器默认按1递增排序。了解更多详情可参考链接:[简书](https://www.jianshu.com/p/8fa0f75e83bc) 和 [SegmentFault](https://segmentfault.com/a/1190000018947083) 文章。

636

被折叠的 条评论
为什么被折叠?



