1、spring cloud gateway的组件介绍

spring cloud gateway的核心包含这么些功能:

actuate 端点

GatewayControllerEndpoint(网关控制器端点),提供了一系列的restful api,用于
操作Route. Filter. 刷新路由配置等接口,提供的接口有:

  1. /refresh 刷新路由配置
  2. /globalfilters 获取全部的全局过滤器
  3. /routefilters 获取全部的路由过滤器
  4. /routes 获取路由配置
  5. /routes/{id} get 根据id获取路由配置信息
  6. /routes/{id} post 添加路由配置信息
  7. /routes/{id} delete 添加路由配置信息
  8. /routes/{id}/combinedfilters 获取路由配置信息和过滤器结合的信息

config 配置

用做网关的各类配置

discovery 发现

服务发现相关的api,可以配合注册中心做各种操作

event 事件

通过事件去做一些操作,比如:

  1. FilterArgsEvent(过滤参数事件)
  2. PredicateArgsEvent(谓词参数事件,也就是判断参数是否符合情况的事件)
  3. RefreshRoutesEvent(刷新路由事件,GatewayControllerEndpoint刷新路由的restful api就是通过调用此事件完成的)
  4. WeightDefinedEvent(权重定义时间,用于设置权重配置,比如做负载均衡的时候可以设置权重)

filter 过滤器

gateway中默认提供了大量的过滤器实现,可以实现诸如修改请求的路径,请求的
参数,增加请求头,或者响应头等等

handler 处理器

gateway中提供了很多校验条件谓语(predicate)来实现路由功能,根据这些谓语
效验,可以非常灵活的控制不同场景下的路由处理问题。,比如有很多种情况:

  1. 请求时间效验条件谓语
  2. 请求Cookies时间效验谓语
  3. 请求Header效验谓语
  4. 请求Host效验条件谓语
  5. 请求Method效验条件谓语
  6. 请求Path效验条件谓语
  7. 请求查询参数效验条件谓语
  8. 请求远程地址效验条件谓语

route 路由

可以根据谓语配置不同的路由,根据配置的先后顺序来跳转,越在前面优先级越
高 主要做路由加载. 路由信息定义. 可以从不同的地方加载路由,同时根据builder
api构建路由配置。

support 支持

主要一些工具类,比如ip地址解析. 权重配置. 字符串与时间的转换器之类的

猜你喜欢

转载自www.cnblogs.com/liangpiorz/p/10582339.html