SpringCloud 具有响应式负载均衡器的WebFlux WebClient

2023-06-08 11:13 更新

可以将​WebClient​配置为使用​ReactiveLoadBalancer​。如果将​org.springframework.cloud:spring-cloud-loadbalancer​添加到项目中,并且​spring-webflux​在类路径中,则会自动配置​ReactorLoadBalancerExchangeFilterFunction​。以下示例说明如何配置​WebClient​以在后台使用无功负载均衡器:

public class MyClass {
    @Autowired
    private ReactorLoadBalancerExchangeFilterFunction lbFunction;

    public Mono<String> doOtherStuff() {
        return WebClient.builder().baseUrl("http://stores")
            .filter(lbFunction)
            .build()
            .get()
            .uri("/stores")
            .retrieve()
            .bodyToMono(String.class);
    }
}

URI需要使用虚拟主机名(即服务名,而不是主机名)。​ReactorLoadBalancerClient​用于创建完整的物理地址。


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号