一、什么是SpringCloud gateWay
Spring Cloud Gateway是Spring Cloud官方推出的第二代网关框架,取代Zuul网关。网关作为流量的,在微服务系统中有着非常作用。据说性能是第一代网关zuul的1.5倍。(基于Netty,WebFlux);
注意点:由于不是Sevlet容器,所以他不能打成war包, 只支持SpringBoot2.X不支持1.x;
网关作用:网关常见的功能有路由转发、权限校验、限流控制等作用。
二、Spring Cloud Gateway服务搭建
1、添加Pom依赖
<dependencies>
<!--加入gateway 的依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
<!--加入nacos的依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
</dependencies>
2、配置文件的配置
server: port: 8888 spring: application: # 注册到nacos上的应用名称 name: api-gateway cloud: nacos: discovery: # gateway注册到nocos上的 server-addr: localhost:8848 gateway: discovery: locator: #开启gateway从nacos上获取服务列表 enabled: true
3、启动类增加 @EnableDiscoveryClient
@SpringBootApplication
@EnableDiscoveryClient
public class CloudGatewayApplication {
public static void main(String[] args) {
SpringApplication.run(CloudGatewayApplication.class, args);
}
}