1. 什么是微服务网关
一个房屋有一个统一的大门,大家通过大门进入房内。微服务网关相当于微服务的大门。
2. Gateway简介
Spring Cloud Gateway是Spring官方基于Spring 5.0,Spring Boot 2.0和Project Reactor等技术开发的网关
作为Spring Cloud生态系网关,Spring Cloud Gateway旨在为微服务架构提供一种简单而有效的统一的API路由管理方式,统一微服务入口,后台服务不暴露自身地址
基于Filter链的方式提供了网关基本的功能,例如:安全,监控/埋点,和限流等
gateway是基于WebFlux框架实现的,WebFlux框架的底层则使用了高性能的Reactor模式通信框架Netty
gateway基于异步非阻塞模型上进行开发的,高并发
3. Gateway网关三大核心
1)动态路由Route:
路由是构建网关的基本模块,它由id,目标url一系列断言和过滤器组成,如果断言结果为true则匹配该路由
2)断言Predicate:
可以根据请求数据中的某些参数进行断言判断,如果为true则匹配该路由
3)过滤器Filter:
指的是Spring框架中GatewayFilter的实例,使用过滤器,可以在请求被路由前或者之后对请求进行修改
4. Gateway架构图示
![](https://img-blog.csdnimg.cn/img_convert/36d8530b786eb8bf470b47f43b1cef72.png)
5. Gateway工作流程
客户端向gateway发出请求,然后在Gateway Handler Mapping 中找到与请求相匹配的路由,将其发送到Gateway Web Handler。
Handler再通过指定的过滤器来将请求发送到实际的服务执行业务逻辑,然后返回。
过滤器在其中进行必要的处理,在“pre”类型的过滤器有功能,如:参数校验、权限校验、流量监控等;在“post”类型的过滤器中可以做响应内容、响应头修改、日志的输出等等。
核心逻辑:路由转发+执行过滤器链。