我们正在逐步远离spring-cloud Netflix OSS生态系统。目前我们正在实现spring-cloud-loadbalancer和移除Ribbon。然而,我们过去在集成测试中有很多静态服务,现在随着从ribbon到spring-cloud-loadbalancer的迁移,这些属性不再被采用。即:
foo-service.ribbon.NIWSServerListClassName=com.netflix.loadbalancer.ConfigurationBasedServerList
foo-service.ribbon.listOfServers=localhost:9876我们已经通过以下方式转向使用spring-cloud-loadbalancer
首先,我们使用@LoadBalanced.注释我们的Webclient.Builder,如下所示
@Bean
@LoadBalanced
fun webClientBuilder() = WebClient.builder()然后,我们在客户端类上添加了@LoadBalancerClient注释,如下所示
@LoadBalancerClient(name = "foo-service", configuration = [FooServiceConfiguration::class])
class FooServiceClient(private val basicAuthWebClient: WebClient)这会导致我们的测试因foo-service的UnknownHostException而失败。
现在我的问题是,我们如何在新的spring-cloud-loadbalancer中配置这个静态服务器列表?
发布于 2021-03-24 19:44:53
基于@spencergibb的评论,我猜这样的东西应该可以工作:
spring:
cloud:
discovery:
client:
simple:
instances:
foo-service:
- instanceId: foo1
serviceId: foo-service
host: localhost
port: 9876```https://stackoverflow.com/questions/59734263
复制相似问题