spring cloud gateway 入门介绍
程序员文章站
2022-07-14 23:03:45
...
Spring Cloud Gateway是Spring Cloud大家族的一个新进成员,在Spring Cloud 2.0之后用于取代非官方的Zuul。Getaway基于Spring 5.0与Spring WebFlux开发,采用Reactor响应式设计。
这是官方文档中提供的图,客户端发起请求到达Gateway,根据HandlerMapping到路由处理
术语
路由(Route):路由为一组断言与一组过滤器的集合,他是网关的一个基本组件。
断言(Predicate):匹配路由的判断条件,例如Path=/demo,匹配后应用路由。
过滤器(Filter):过滤器可以对请求和返回进行修改,比如增加头信息等。
地址(Uri):匹配路由后转发的地址。
网关搭建
步骤一:
添加依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
如果由于某种原因,您不希望启用网关,请设置spring.cloud.gateway.enabled=false
步骤二:
设置配置文件
server:
port: 9521
spring:
application:
name: service-gateway
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
gateway:
routes:
- id: nacos-consumer # id可以随便设置,只要名称不重复即可
uri: lb://nacos-consumer # 需要转发的注册中心服务地址
predicates: # 断言
- Path=/consumer/** # 匹配路径
步骤三:
设置启动器
@SpringBootApplication
@EnableDiscoveryClient
public class GatewayApplication {
public static void main(String[] args) {
SpringApplication.run(GatewayApplication.class,args);
}
}
到此简单的网关搭建完成.
注意:
Spring Cloud Gateway需要Spring Boot和Spring Webflux提供的Netty运行时。它不能在传统的Servlet容器中或作为WAR构建。
推荐阅读
-
Spring Cloud GateWay 路由转发规则介绍详解
-
spring-cloud入门之eureka-server(服务发现)
-
spring-cloud入门之spring-cloud-config(配置中心)
-
spring-cloud入门之eureka-client(服务注册)
-
Spring Cloud Gateway网关XSS过滤Filter
-
详解spring cloud构建微服务架构的网关(API GateWay)
-
Spring Cloud Gateway入门解读
-
Spring Cloud Gateway 服务网关快速实现解析
-
Spring Cloud Gateway 之请求坑位[微服务IP不同请求会失败]
-
Spring Cloud Gateway网关XSS过滤Filter