需要JAVA Spring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码
一、RouteLocator
SpringCloud gateway的路由定位器,包括CachingRouteLocator,CompositeRouteLocator,RouteDefinitionRouteLocator,他们的关系可以从GatewayAutoConfiguration中的代码看出,
public RouteLocator routeDefinitionRouteLocator(GatewayProperties properties, List<GatewayFilterFactory> GatewayFilters, List<RoutePredicateFactory> predicates, RouteDefinitionLocator routeDefinitionLocator) { return newRouteDefinitionRouteLocator(routeDefinitionLocator, predicates, GatewayFilters, properties);}@Bean@Primary//TODO: property to disable composite?public RouteLocator cachedCompositeRouteLocator(List<RouteLocator> routeLocators) { return newCachingRouteLocator(new CompositeRouteLocator(Flux.fromIterable(routeLocators)));}
而RouteDefinitionRouteLocator定位器是通过RouteDefinitionLocator的RouteDefinition定位器获取定义的数据的。
![](https://i-blog.csdnimg.cn/blog_migrate/b7b77bc54197a66d0e52f08208c4dcf9.png)