Gateway

suaxi
2021-04-23 / 0 评论 / 44 阅读 / 正在检测是否收录...

一、概述

Spring Cloud GateWay作为Spring Cloud生态系统中的网关,目的是代替zuul。其基于WebFlux框架,底层使用高性能的Reactor模式的通信框架Netty。

提供统一的路由方式且基于Filter链的方式提供网关的基本功能,如:安全、监控/指标、限流等。


二、特性

1、基于Spring Framework 5,Project Reactor,SpringBoot 2.0进行构建

2、动态路由:能够匹配任何请求属性

3、可以对路由指定Predicates(断言)和Filter(过滤器)

4、集成Hystrix的断路器功能

5、集成SpringCloud服务发现功能

6、请求限流

7、路径重写

……


三、三个概念

1、Route(路由)

路由是构建网关的基本模块,由ID、目标URI和一系列的断言、过滤器组成,如果断言为true则匹配该路由


2、Predicates(断言)

匹配Http请求中的所有内容(请求头或请求参数等)


3、Filter(过滤)

指Spring框架中GatewayFilter的实例,使用过滤时,可以在请求被路由之前或之后对请求做出修改


四、工作流程

客户端向Spring Cloud GateWay发出请求,然后在Gateway Handler Mapping中找到与请求相匹配的路由,将其发送到Gateway Web Handler;

Handler再通过指定的过滤器链将请求发送到实际的执行业务逻辑,然后返回(过滤器可能会在发送代理请求之前(pre)或之后(post)执行业务逻辑);

Filter在“pre”类型的过滤器可以做参数校验、权限校验、流量监控、日志输出、协议转换等;

在“post”类型的过滤器可以做内容响应、响应头的修改,日志的输出、流量监控等功能


Predicates cookies路由规则

6.Predicates cookie路由规则.png

7.curl带cookie访问.png


Header

8.Header请求头路由规则.png

9.curl带请求头访问.png


Host

10.Host路由规则.png

11.curl带host参数访问.png


Method

12.Method路由规则.png


Query

13.Query路由规则.png

14.Query配置实例.png

图片来源:尚硅谷-周阳 Spring CLoud Alibaba

0

评论 (0)

取消