我有以下带功能区的 Spring Cloud Gateway 配置
server:
port: 8080
spring:
cloud:
gateway:
routes:
- id: UserModule
uri: lb://load-balanced-service-user
predicates:
- Path=/api/user/**
ribbon:
eureka:
enabled: false
Load-balanced-service-user:
ribbon:
listOfServers: localhost:9999,localhost:8888
现在我想删除 Ribbon 并替换为 Spring Cloud 负载均衡器。
我添加了
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>
现在我需要在 application.yaml 文件中添加哪些其他配置才能切换到 Spring Cloud 负载均衡器?我想在 .yaml 文件上添加配置。我不想用 .yaml 文件中配置的功能区破坏旧结构。
如果您使用
Hoxton
释放列车,则需要将 spring.cloud.loadbalancer.ribbon.enabled
设置为 false
。据我所知,您使用的是静态服务器列表而不是服务注册表。在 LoadBalancer 中,您可以通过添加属性支持的 SimpleDiscoveryClient
来实现这一点。请注意,要为此类静态实例重现功能区的运行状况检查行为,我们建议使用实例运行状况检查机制并禁用负载均衡器缓存,因为实例运行状况检查机制提供了替代缓存机制。