SpringCloud Gateway 基本概念和执行流程

基本概念

路由(Route)是gateway中最基本的组件之一,表示一个具体的路由信息载体,主要定义下面几个信息: id 路由的标识符,唯一标识,区别路由 uri 路由指向的目的地的uri,即客户端请求最终被转发到的微服务 order 用于多个路由之间的排序,数值越小越靠前,匹配的优先级越高。 predicate 断言的作用是进行条件判断,只有断言都返回true,才会真正的执行路由 filter 过滤器,用于修改请求和响应的信息。

执行流程

SpringCloud Gateway 基本概念和执行流程_第1张图片

  1. 客户端向网关发送请求,请求可以是http\https等等
  2. 请求首先会被HttpWebHandlerAdapter进行提取,组装网关上下文。
  3. 然后网关的上下文会传递到DispatchHandler,由他负责将请求分发给 RouterPredicateHandlerMapping。
  4. RouterPredicateHandlerMapping负责查找路由,并且根据断言判断是否可用。
  5. 如果断言成功,有FilterWebHandler创建过滤器链并调用。
  6. 请求会经过前置过滤器到达微服务,再经过后置过滤器后,返回响应。

你可能感兴趣的:(过滤器,网关,java,中间件,http)