目录
SpringCloudGateway 角色及初始化过程
gateway 初学源码理解笔记,如有错误,望指正。
1.RouteDefinition
定义了路由定义的组合信息
- 路由ID: 用于全局唯一标志一条路由信息
- URI: 目标服务的域名信息
- predicate列表: 用于过滤请求,判断请求是否进行路由,可以指定如Path匹配、Header属性匹配、Host 匹配等,具体预定义的匹配项可见: org.springframework.cloud.gateway.handler.predicate 包下的PredicateFactory类。也可以通过实现RoutePredicateFactory接口,自定义匹配工厂,然后注入Spring即可使用
- filter列表: 对Request做的一些预处理,比如添加参数 ,修改header之类的。具体见:org.springframework.cloud.gateway.filter.factory 包下的GatewayFactory实现
- order: 指定路由匹配的优先级别,值越小,越优先匹配
- **metadata信息:**暂未研究
2.RouteDefinitionLocator
用于获取各个位置配置的RouteDefinition的接口定义,默认实现类如下: