spring cloud gateway 源码理解

1.spring cloud gateway整体流程图

2.按照springboot中常见的自动配置策略,主要的配置在GatewayAutoConfiguration中,其中定义了预置的filter以及Predicate,以及还有比较重要的和路由相关的几个类:RouteDefinitionLocator,RouteLocator,WebHandler以及HandlerMapping,其中RouteDefinitionLocator将路由定义导入到了spring容器中,常见的实现类有PropertiesRouteDefinitionLocator(配置文件配置路由),InMemoryRouteDefinitionRepository(通过相关数据接口定义),RouteLocator封装了RouteDefinitionLocator以及相关过滤的gatewayfilter以及Predicate,除了gateway自动配置的(routeDefinitionRouteLocator),也可以自己代码中通过RouteLocatorBuilder来进行配置,gateway中配置的CachingRouteLocator会进入同一引入,WebHandler在gateway中体现为FilteringWebHandler,封装了所有的GlobalFilter,而HandlerMapping在gateway中体现为RoutePredicateHandlerMapping,在这个类中封装了上面的所有相关,请求过来以后,通过封装的RouteLocator找到对应的route,然后交由FilteringWebHandler进行处理,其中的过滤器也会在此时起作用。

暂时只了解到这里,其中Gatewayfilter具体起作用的时机还待分析。

很好的几张图:

 

参考博客:https://www.jianshu.com/p/af1554553b5c

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值