营销类网站推荐,动漫网站设计与实现,wordpress中文字体插件,wordpress添加视频#x1f600;前言 本篇博文是关于SpringCloud Gateway的基本介绍#xff0c;希望你能够喜欢 #x1f3e0;个人主页#xff1a;晨犀主页 #x1f9d1;个人简介#xff1a;大家好#xff0c;我是晨犀#xff0c;希望我的文章可以帮助到大家#xff0c;您的满意是我的动力… 前言 本篇博文是关于SpringCloud Gateway的基本介绍希望你能够喜欢 个人主页晨犀主页 个人简介大家好我是晨犀希望我的文章可以帮助到大家您的满意是我的动力
欢迎大家这里是CSDN我总结知识的地方欢迎来到我的博客感谢大家的观看 如果文章有什么需要改进的地方还请大佬不吝赐教 先在此感谢啦 文章目录 SpringCloud GatewayGateway 介绍看一个需求引出网关服务Gateway 网络拓扑图Gateway 是什么官网Gateway 核心功能Gateway VS ZuulGateway 和Zuul 区别Gateway 特性 Gateway 基本原理Gateway 核心组件一张图解读:Route(路由)Predicate(断言)Filter(过滤) How It Works 工作机制示意图梳理流程(how to work) SpringCloud Gateway
Gateway 介绍
看一个需求引出网关服务
1、有一个前后端分离项目, 分析如图 2、使用网关服务, 重构项目架构 Gateway 网络拓扑图 Gateway 是什么 Gateway 是在Spring 生态系统之上构建的API 网关服务基于Spring Spring Boot 和ProjectReactor 等技术。Gateway 旨在提供一种简单而有效的方式来对API 进行路由以及提供一些强大的过滤器功能例如∶熔断、限流、重试等
官网
官网地址 https://cloud.spring.io/spring-cloud-static/spring-cloud-gateway/2.2.1.RELEASE/reference/html/
Gateway 核心功能
1. 鉴权
2. 流量控制
3. 熔断
4. 日志监控
5. 反向代理Gateway VS Zuul
Gateway 和Zuul 区别
SpringCloud Gateway 作为Spring Cloud 生态系统中的网关目标是替代ZuulSpringCloud Gateway 是基于Spring WebFlux 框架实现的Spring WebFlux 框架底层则使用了高性能的Reactor 模式通信框架Netty 提升了网关性能
Gateway 特性
Spring Cloud Gateway 基于Spring Framework(支持Spring WebFlux)Project Reactor 和Spring Boot 进行构建,具有如下特性:
动态路由可以对路由指定Predicate(断言)和Filter(过滤器)集成Hystrix的断路器功能集成Spring Cloud 服务发现功能请求限流功能支持路径重写
Gateway 基本原理
Gateway 核心组件
一张图 解读:
web 请求通过一些匹配条件定位到真正的服务节点/微服务模块在这个转发过程的前后进行一些精细化控制。predicate: 就是匹配条件。filter: 可以理解为是网关的过滤机制。有了predicate 和filter再加上目标URL.就可以实现一个具体的路由。
Route(路由)
说明: 路由是构建网关的基本模块它由ID目标URI一系列的断言和过滤器组成如果断言为true 则匹配该路由.
Predicate(断言)
1、说明: 对HTTP 请求中的所有内容例如请求头或请求参数进行匹配如果请求与断言相匹配则进行路由。
2、简单举例, 比如配置路径, - Path/member/get/** #断言,路径相匹配的进行路由转发, 如果Http 请求的路径不匹配, 则不进行路由转发.
Filter(过滤)
1、一句话: 使用过滤器可以在请求被路由前或者之后对请求进行处理。
2、你可以理解成, 在对Http 请求断言匹配成功后, 可以通过网关的过滤机制, 对Http 请求处理。
3、简单举例:
filters:- AddRequestParametercolor, blue #过滤器在匹配的请求头加上一对请求头名称为color 值为blue, 比如原来的http 请求是http://localhost:10000/member/get/1 过滤器处理http://localhost:10000/member/get/1?colorblueHow It Works 工作机制
示意图 梳理流程(how to work)
客户端向Spring Cloud Gateway 发出请求。然后在Gateway Handler Mapping 中找到与请求相匹配的路由将其发送到Gateway Web Handler。Handler 再通过指定的过滤器链来将请求发送到我们实际的服务执行业务逻辑然后返回。过滤器之间用虚线分开是因为过滤器可能会在发送代理请求之前“pre”或之后“post”执行业务逻辑。Filter 在pre类型的过滤器可以做参数校验、权限校验、流量监控、日志输出、协议转换等在post类型的过滤器中可以做响应内容、响应头的修改日志的输出流量监控等有着非常重要的作用。 一句话说路由转发执行过滤器链 文章到这里就结束了如果有什么疑问的地方请指出诸大佬们一起来评论区一起讨论 希望能和诸大佬们一起努力今后我们一起观看感谢您的阅读 如果帮助到您不妨3连支持一下创造不易您们的支持是我的动力