在线客服
扫描二维码
下载博学谷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常用框架有哪些?大概包括:Hibernate、Spring、Struts、jQuery、Redis五种。这些框架有什么用呢?Java常用框架提供了一些现成的机制,在团队开发中简化开发难度,下面小编就来具体介绍一下Java常用的五大框架。
7501
2019-08-26 12:09:43
Java培训机构哪家比较靠谱?学完可以找到工作吗?
Java培训机构哪家比较靠谱?学完可以找到工作吗?相信不少的Java的学习者都有这样的困惑。随着IT人才需求的不断扩大,IT培训市场也越来越鱼龙混杂。因此今天我们来谈谈如何挑选靠谱的Java培训机构,并且培训完就能顺利找到工作。
5659
2019-10-07 09:24:45
Java并发编程原理解析教程
众所周知,Java并发编程是每一个Java学习者提升自我能力的一个重要学习阶段。在各大知名互联网行业中,Java并发编程都是从业者必须掌握的知识和技能,因此学习Java并发编程的重要性不言而喻。为了解决大家在自学道路上的阻碍,博学谷特地推出了Java并发编程原理解析课程。本文就来为大家详细介绍一下该课程的具体内容,下面就一起来看看吧!
5866
2019-11-04 12:53:15
2019年Spring Boot面试题集合附答案
相信所有Java开发者都认同,在微服务中,Spring Boot是最好的Java框架。Spring Boot自身最大的优势就是简化配置,可以说它真正实现了自动化配置。因此大家要想做好Java开发,给大家的建议就是成为Spring Boot的高手。本文为大家整理了2019年最新的Spring Boot面试题和答案,如果大家能够好好做一做这份面试题集合,相信面试一定手到擒来。
7530
2019-12-20 18:05:36
参加Java在线培训班能学会Java吗?
在互联网行业,很多技术人员为了适应快速迭代的技术要求,工作之余会有大量的时间安排在技术提升和能力拓展,然而对于初入职场或者在职人群想要系统学习Java开发,脱产学习成本过大,因此参加Java在线培训班就成为大家的首选。
5259
2020-07-24 16:11:04
