SpringCloud WebFlux WebClient,带有非反应式负载均衡器客户端
2023-06-08 11:10 更新
如果您的项目中没有org.springframework.cloud:spring-cloud-loadbalancer
,但是确实有spring-cloud-starter-netflix-ribbon,则仍可以将WebClient
与LoadBalancerClient
结合使用。如果spring-webflux
在类路径中,将自动配置LoadBalancerExchangeFilterFunction
。但是请注意,这是在后台使用非反应性客户端。以下示例显示如何配置WebClient
以使用负载均衡器:
public class MyClass {
@Autowired
private LoadBalancerExchangeFilterFunction lbFunction;
public Mono<String> doOtherStuff() {
return WebClient.builder().baseUrl("http://stores")
.filter(lbFunction)
.build()
.get()
.uri("/stores")
.retrieve()
.bodyToMono(String.class);
}
}
URI需要使用虚拟主机名(即服务名,而不是主机名)。LoadBalancerClient
用于创建完整的物理地址。
警告
现在不建议使用此方法。我们建议您将WebFlux与电抗性负载平衡器一起使用。
以上内容是否对您有帮助:
更多建议: