SpringCloud-Gateway 网关路由、断言、过滤
Gateway 简介 是什么? Spring Cloud 全家桶中有个很重要的组件:网关。在 1.x 版本中使用的是 Zuul 网关,但是到了 2.x,由于Zuul的升级不断跳票,Spring Cloud 自己研发了一套网关组件:Spring Cloud Gateway。 Spring Cloud Gateway基于 Spring Boot 2.x,Spring WebFlux 和 Project Reactor 构建,使用了 Webflux 中的 reactor-netty 响应式编程组件,底层使用了 Netty 通讯框架。 详见: 官网 能干嘛? 反向代理 鉴权 流量控制 熔断 日志监控 ...... 网关在微服务架构中的位置 Gateway 的三大概念 Route(路由) :路由是构建网关的基本模块,它由 ID、目标 URI、一系列的断言和过滤器组成,如果断言为 true 则匹配该路由 Predicate(断言) : 参考的是 Java8 中的 java.util.function.Predicate 。开发人员可以匹配 HTTP 请求中的所有内容(例如请求头或请求参数),如果请求与断言相匹配则进行路由 Filter(过滤) :指的是 Spring 框架中 GatewayFilter 的实例,使用过滤器,可以在请求被路由之前或之后对请求进行修改 工作流程 Clients