一 网关
1.1 gateway的作用
网关可以实现: 权限过滤拦截,请求转发;组包拆包,加密解密,报文解析,协议转换等功能。
spring cloud gateway本身也是一个微服务,需要注册进服务到注册中心,从注册中心拉取可用服务。
1.2 网关的组成部分
1.断言 predicate: 匹配的条件;2.路由:要转发目的服务地址;3.fiter:在路由前后加过滤规则。
1.3 网关的流程
客户端向spring cloud gateway发出请求,然后gateway handler mapping 中找到与请求相匹配的路由,将其发送到gateway web handler。handler 再通过指定的过滤器链来讲请求发送到我们实际的服务执行业务逻辑,然后返回。
过滤器之间用虚线分开是因为过滤器可能会在发送代理请求之前pre或者之后post执行业务逻辑。
1.在pre类型的过滤器可以做【参数校验、权限校验、流量监控、日志输出、协议转换】等
2.在post类型的过滤器可以做响应内容、响应头的修改、日志的输出、流量监控等有着非常重要的作用。
二 网关服务注册到注册中心
2.1 搭建gateway服务
1.pom文件
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!--gateway-->
<dep