在线客服
 扫描二维码
下载博学谷APP
 扫描二维码
关注博学谷微信公众号
Spring Cloud Gateway工作原理是什么?作为 Spring Cloud 生态系网关替代 Netflix Zuul,提供统一的路由方式,基Filter 链的提供网关基本的功能。
Spring Cloud Gateway是Spring 官方基于Spring 5.0、Spring Boot 2.0和Project Reactor等技术开发的网关,Spring Cloud Gateway旨在为微服务架构提供一种简单有效的、统一的 API 路由管理方式。
Spring Cloud Gateway 作为 Spring Cloud 生态系中的网关,其目标是替代 Netflix Zuul,它不仅提供统一的路由方式,并且基于Filter链的方式提供了网关基本的功能,如:安全、监控/埋点和限流等。
Spring Cloud Gateway依赖Spring Boot和Spring WebFlux,基于Netty 运行。不能在传统的 servlet 容器中工作也不能构建成war包。
一、关于Spring Cloud Gateway 核心概念
1、Route
Route 是网关的基础元素,由 ID、目标 URI、断言、过滤器组成。当请求到达网关时,由 Gateway HandlerMapping 通过断言进行路由匹配(Mapping),断言为真时匹配到路由。
2、Predicate
Predicate 是 Java 8 中提供的一个函数。输入类型是 Spring Framework ServerWebExchange。它允许开发人员匹配来自 HTTP 的请求,例如请求头或者请求参数。简单来说它就是匹配条件。
3、Filter
Filter是Gateway 中的过滤器,可以在请求发出前后进行一些业务上的处理。
二、Spring Cloud Gateway 工作原理
Spring Cloud Gateway工作原理跟 Zuul相差不多,最大区别是 Gateway的 Filter 只有 pre 和 post 两种。Gateway 的工作原理图 :

客户端向 Spring Cloud Gateway 发出请求,如果请求与网关程序定义的路由匹配,则该请求就会被发送到网关 Web 处理程序,此时处理程序运行特定的请求过滤器链。过滤器之间用虚线分开的原因是过滤器可能会在发送代理请求的前后执行逻辑。所有 pre 过滤器逻辑先执行,然后执行代理请求;代理请求完成后,执行 post 过滤器逻辑。
总结Spring cloud gateway 的工作机制:Gateway 接收客户端请求。客户端请求与路由信息进行匹配,匹配成功的才能够被发往相应的下游服务。请求经过 Filter 过滤器链,执行 pre 处理逻辑,如修改请求头信息等。请求被转发至下游服务并返回响应。响应经过 Filter 过滤器链,执行 post 处理逻辑。向客户端响应应答。
— 申请免费试学名额 —
    在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
    
    讲师一对一辅导,在线答疑解惑,指导就业!
  
相关推荐 更多
 Java培训班课程怎么样?Java课程学什么?
Java培训班课程怎么样?Java课程学什么?博学谷的Java培训课程针对企业需求设计实用性比较强,Java培训课程学习Java基础语法:java运行环境,java入门,基本数据类型转换,运算符,流程控制语句,Random基本使用,函数,断点调试;基础语法练习、面向对象封装、常用API等内容。
6446
2019-09-10 15:33:15
 Java方法语句集合零基础入门
Java开发中的方法学习,首先从方法概述开始,逐步深入学习方法的定义和调用、带参数方法的定义和调用、带返回值方法的定义和调用、方法注意事项、方法重载、方法的参数传递等的知识点。
6169
2019-12-04 10:56:34
 Java在线教程视频哪里有?都学什么内容?
Java在线教程视频哪里有?都学什么内容?受最近的疫情影响,传智播客将所有线下课程都通过博学谷在线平台为学员进行线上授课。因此在大家在此期间,可以通过博学谷这一在线培训平台在家进行学习充电。总的来讲,博学谷无论是师资团队还是教学内容,都是业内值得信赖的在线IT培训平台。至于教程的具体学习内容,本文将通过课程大纲为大家介绍Java在线教程详情。
5101
2020-02-07 00:00:11
 0基础学Java需要多少小时?
博学谷零基础系统学习的Java课程课时348小时,至少要学习5-6个月的时间,不同的课程大纲课时也不一样,具体课看课程的详情;Java基础课程课时在5-20小时不等,根据自己的阶段目标不同课时差距比较大。
4467
2020-12-29 10:21:47
 Java学多久可以找到工作?难找工作吗?
Java学多久可以找到工作?Java学习选择不同的学习方式学习周期也不同,自学学习多久因人而异,而参加培训班的话一般需要5-6个月的时间,学完可以具备初级Java程序的开发水平,二者对比一下可以看出参加Java培训班的时间更短效率更高。
4546
2021-04-07 09:54:15
 
 
 