问题描述
我具有带功能区的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
我添加了
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>
现在我还需要在application.yaml文件中添加其他什么配置才能切换到Spring Cloud Load Balancer?我想在.yaml文件上添加配置。我不想使用.yaml文件中配置的功能区破坏旧结构。
解决方法
如果您使用的是Hoxton
发布火车,则需要将spring.cloud.loadbarancer.ribbon.enabled
设置为false
。据我所知,您使用的是服务器的静态列表,而不是服务注册表。在LoadBalancer中,您可以通过添加属性支持的SimpleDiscoveryClient
来实现。请注意,为重现此类静态实例的功能区运行状况检查行为,我们建议使用Instance Health Check mechanism并禁用负载均衡器缓存,因为“实例运行状况”检查机制提供了一种替代缓存机制。