Spring Cloud Gateway 是 Spring 官方基于 Spring5.0 、 SpringBoot2.0 和 Project Reactor 等技术开发的网关
旨在为微服务框架提供一种简单而有效的统一的 API 路由管理方式,统一访问接口。
Spring Cloud Gateway 作为 Spring Cloud 生态体系中的 网关 ,目标是替代 Netflix 的 Zuul ,其不仅提供统一的路由方式,并且基于Filter 链的方式提供了网关基本的功能,例如:安全、监控 / 埋点和限流等等。
它是 基于Netty的响应式开发模式1 路由( route ):路由是网关最基础的部分,路由信息由一个 ID ,一个目的 URL 、一组断言工厂和一组Filter 组成。如果断言为真,则说明请求 URL 和配置的路由匹配。
2 断言( Predicate ): Java8 中的断言函数, Spring Cloud Gateway 中的断言函数输入类型是Spring5.0框架中的 ServerWebExchange 。 Spring Cloud Gateway 中的断言函数允许开发者去定义匹配来自http Request 中的任何信息,比如请求头和参数等。
3 过滤器( Filter ):一个标准的 Spring WebFilter , Spring Cloud Gateway 中的 Filter 分为两种类型:Gateway Filter和 Global Filter 。过滤器 Filter 可以对请求和响应进行处理。
一、gateway的基本使用
1、新建gateway项目
①、建新模块