1. 添加依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2.2.5.RELEASE</version>
</dependency>
2. 添加配置
spring:
cloud:
nacos:
discovery:
# 服务注册地址
server-addr: 192.168.17.94:8848
3. 将路由配置中的uri采用lb://服务名的形式进行配置
spring:
cloud:
gateway:
routes:
- id: web
uri: lb://demo-web
predicates:
- Path=/api-web/**
filters:
- StripPrefix=1
其中lb表示采用了负载均衡,demo-web表示服务名。
当后端有多个服务节点时,网关会以负载均衡的方式将请求发送到后端的各个服务节点上,当某个服务节点关闭以后,后续的请求不会发送到该节点上。这个过程会存在一定的时间延迟,比如30秒左右。