Springboot整合 Spring Cloud Gateway
Spring Cloud Gateway 是 Spring Cloud 的一个全新项目,该项目是基于 Spring 5.0,Spring WebFlux 和 Project Reactor 等技术构建的 API 网关,用于代替 Netflix Zuul。
整合 Spring Cloud Gateway 的基本步骤如下:
- 在 pom.xml 中添加依赖
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Finchley.SR2</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
- 在 application.yml 中配置路由规则
spring:
cloud:
gateway:
routes:
- id: after_route
uri: http://localhost:8081
predicates:
- Path=/api/**
- id: hystrix_route
uri: http://localhost:8082
predicates:
- Path=/api-hystrix/**
filters:
- Hystrix=myCommand
- 创建启动类
@SpringBootApplication
public class GatewayApplication {
public static void main(String[] args) {
SpringApplication.run(GatewayApplication.class, args);
}
}
以上代码实现了一个简单的 Spring Cloud Gateway 的整合,包括了添加依赖、配置路由规则和创建启动类。这个简单的网关会把所有到 /api/* 的请求转发到 http://localhost:8081,并把到 /api-hystrix/* 的请求通过 Hystrix 命令 myCommand 转发到 http://localhost:8082。
评论已关闭