一、什么是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); } }