W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
WebClient可以自動(dòng)配置為使用負(fù)載均衡器客戶端。要?jiǎng)?chuàng)建負(fù)載均衡的WebClient,請(qǐng)創(chuàng)建WebClient.Builder @Bean并使用@LoadBalanced限定符,如以下示例所示:
@Configuration public class MyConfiguration { @Bean @LoadBalanced public WebClient.Builder loadBalancedWebClientBuilder() { return WebClient.builder(); } } public class MyClass { @Autowired private WebClient.Builder webClientBuilder; public Mono<String> doOtherStuff() { return webClientBuilder.build().get().uri("http://stores/stores") .retrieve().bodyToMono(String.class); } }
URI需要使用虛擬主機(jī)名(即服務(wù)名,而不是主機(jī)名)。Ribbon客戶端用于創(chuàng)建完整的物理地址。
重要
如果要使用
@LoadBalanced WebClient.Builder
,則需要在類路徑中有一個(gè)loadbalancer實(shí)現(xiàn)。建議您將org.springframework.cloud:spring-cloud-loadbalancer
依賴項(xiàng)添加到項(xiàng)目中。然后,將在下面使用ReactiveLoadBalancer
。或者,此功能也可以在spring-cloud-starter-netflix-ribbon上使用,但是該請(qǐng)求將由后臺(tái)的非響應(yīng)LoadBalancerClient
處理。此外,spring-cloud-starter-netflix-ribbon已經(jīng)處于維護(hù)模式,因此我們不建議您將其添加到新項(xiàng)目中。
在下面使用的
ReactorLoadBalancer
支持緩存。如果檢測(cè)到cacheManager
,將使用ServiceInstanceSupplier
的緩存版本。如果沒(méi)有,我們將從發(fā)現(xiàn)服務(wù)中檢索實(shí)例,而不進(jìn)行緩存。如果您使用ReactiveLoadBalancer
,建議您在項(xiàng)目中啟用緩存。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: