简述
官网:https://spring.io/projects/spring-cloud-gateway
GitHub地址:https://github.com/spring-cloud/spring-cloud-gateway
本文编写自2021年4月7日,当前SpringCloud最新版本为2020.0.2版本
本文使用版本为
SpringCloud 版本2020.0.2
spring-cloud-starter-gateway版本3.0.2
spring-boot-starter版本2.4.4
该项目提供了一个用于在Spring WebFlux之上构建API网关的库。 Spring Cloud Gateway旨在提供一种简单而有效的方法来路由到API,并为它们提供跨领域的关注点,例如:安全性,监视/指标和弹性。
特征
- 建立在Spring Framework 5,Project Reactor和Spring Boot 2.0之上
- 能够匹配任何请求属性上的路由。
- 谓词和过滤器特定于路由。
- 断路器集成。
- Spring Cloud DiscoveryClient集成
- 易于编写的谓词和过滤器
- 请求速率限制
- 路径改写
概念
什么是路由?
路由是构建网关的基本模块,由ID,目标URI,一系列的断言和过滤器组成,如果断言为true,则匹配该路由
什么是断言?
开发人员可以匹配HTTP请求中的所有内容(例如请求头或请求参数),如果请求与断言相匹配则进行路由
什么是过滤?
值得是Spring框架中GatewayFilter的实例,使用过滤器,可以使请求在被路由前/后进行修改
然后让我们先通过几个小demo先了解一下gateway的大概使用,然后我们在深入了解更多相关知识,这样比较容易理解。
独立版代码(静态路由)
依赖坐标
pom.xml
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <version>2.4.4</version> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId> <version>3.0.2</version> </dependency>配置
配置文件、配置类选择一个就ok
根据此配置,访问 http:localhost:9527/s 将直接转发到百度首页,页面内容展示百度首页内容
application.yml
比如我们在访问之前的 http://localhost:9002/test/lb ,控制台就会打印我们在过滤器中打印的内容,说明进入到了过滤器中。
过滤器很强大,怎么用看个人、看需求,根据自己要实现的内容去定制化实现吧。
对应代码文件
http://xiazai.jb51.net/202104/yuanma/springcloudgateway_jb51.rar
到此这篇关于SpringCloud Gateway 2020.0.2最新版的文章就介绍到这了,更多相关SpringCloud Gateway内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
热门文章