在线客服
扫描二维码
下载博学谷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 Web/后端开发。然而程序员之前的区别还是很大的,如果想要拿高薪,作为一个程序员需要不断学习。
9319
2019-04-10 00:08:24
Java学习的课程内容有哪些?课程大纲是什么?
Java学习的课程内容有哪些?课程大纲是什么?Java就业班的课程包括了大型互联网公司主流技术框架 、 Lambda表达式及其他新特性、Spring全家桶等现阶段企业流行技术和知识点。从Java的基础入门知识到项目实战,课程既有基础理论知识,又深入结合了案例分析和实战演练,真正做到了全方位培训学员。博学谷Java在线就业班课程大纲如下:
5573
2019-09-16 10:47:50
自学Java开发要多久?要学到什么程度才能就业?
自学Java开发要多久?要学到什么程度才能就业?自学能力强的话,完全熟练掌握Java开发技能最快也需要半年,必须要学的内容包括主流技术框架、 Lambda表达式及其他新特性、Spring等现阶段企业流行技术和知识点。下面小编详细讲一讲Java开发就业的标准。
5934
2019-09-19 10:26:23
零基础自学Java需要从什么地方开始?
零基础自学Java需要从什么地方开始?事实上,对于完全零基础的学习者来说,自学Java是不太现实的,毕竟编程语言的自学还是很大的难度。如果大家实在不想去线下的培训班,最好还是报一个在线教育的课程进行自学。只有具备了合适的学习方案和老师的指导,才能少走很多弯路,更加高效的学习。
4576
2019-10-11 18:28:50
如何用Java查询个人信息?代码怎么写?
如何用Java查询个人信息?编程写好相应的规则,按照规则执行,在一定程度上大大提高了工作效率,在我们生活中的应用无处不在,当你面临公司大量的人员数据如何准确查询处理你想要的数据呢?
7559
2020-02-11 17:13:36