在线客服
扫描二维码
下载博学谷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课程,有兴趣的小伙伴赶紧看下去吧!
8609
2019-07-22 18:34:16
Java开发常用API有哪些?
如果想成为高级程序员学习API必不可少,高效程序员需要学习Math、System、Object、Objects、BigDecimal、类型包装类、数组、Arrays等重要类库与方法。
8112
2019-12-30 16:03:56
Apollo如何快速入门?
如今,Apollo已经开始在很多的技术公司流行起来了,因此对于技术有要求的提IT工作者不妨现在就学起来。那么Apollo如何快速入门?比起自己一点点啃枯燥的文字理论,这里给大家推荐一个更有效的学习方式,即观看优质的免费视频课程进行学习,这样可以帮助大家快速掌握Apollo的特性、安装、工作原理和项目场景等等内容。
7038
2020-03-18 18:39:32
零基础自学Java好找工作吗?
零基础自学Java好找工作吗?相信问这种问题的朋友,已经开始对自己产生怀疑了。在还没开始的时候就产生否定自己的想法,怎么可能学得好Java从而找到工作呢?因此,我们要问的应该是零基础如何自学Java才能找到工作。只有变被动为主动,才能掌握自己的职业发展和人生。下面我们一起看看自学Java会遇到的困难,并想办法逐一克服它们,扫清找工作道路上的障碍。
6631
2020-04-01 17:16:07
微服务架构下如何解决分布式事务?
众所周知,分布式事务是在分布式场景下,满足事务的需求,一直以来分布式事务被称为业界难题方案。那么,微服务架构下如何解决分布式事务呢?如果你对分布式事务感兴趣,并且致力于向架构师发展,博学谷的《微服务架构的分布式事务解决方案》课程绝对是你不可不看的重要教程,相信完成了该课程的学习,大家对于分布式事务会有一个更加深入的了解和掌握。
6168
2020-04-02 18:02:07
