SpringCloud WebFlux WebClient,帶有非反應(yīng)式負(fù)載均衡器客戶端

2023-06-08 11:10 更新

如果您的項(xiàng)目中沒(méi)有?org.springframework.cloud:spring-cloud-loadbalancer?,但是確實(shí)有spring-cloud-starter-netflix-ribbon,則仍可以將?WebClient?與?LoadBalancerClient?結(jié)合使用。如果?spring-webflux?在類路徑中,將自動(dòng)配置?LoadBalancerExchangeFilterFunction?。但是請(qǐng)注意,這是在后臺(tái)使用非反應(yīng)性客戶端。以下示例顯示如何配置?WebClient?以使用負(fù)載均衡器:

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需要使用虛擬主機(jī)名(即服務(wù)名,而不是主機(jī)名)。?LoadBalancerClient?用于創(chuàng)建完整的物理地址。

 警告

現(xiàn)在不建議使用此方法。我們建議您將WebFlux與電抗性負(fù)載平衡器一起使用。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)