Spring Cloud Commons教程(二)Spring RestTemplate做爲負載平衡器客戶端

RestTemplate能夠自動配置爲使用功能區。要建立負載平衡RestTemplate建立RestTemplate @Bean並使用@LoadBalanced限定符。html

警告 經過自動配置再也不建立RestTemplate bean。它必須由單個應用程序建立。 @Configuration public class MyConfiguration {spring

@LoadBalanced
@Bean
RestTemplate restTemplate() {
    return new RestTemplate();
}
複製代碼

}spa

public class MyClass { @Autowired private RestTemplate restTemplate;rest

public String doOtherStuff() {
    String results = restTemplate.getForObject("http://stores/stores", String.class);
    return results;
}
複製代碼

} URI須要使用虛擬主機名(即服務名稱,而不是主機名)。Ribbon客戶端用於建立完整的物理地址。有關 如何設置RestTemplate的詳細信息,請參閱 RibbonAutoConfiguration。code

重試失敗的請求cdn

負載平衡RestTemplate能夠配置爲重試失敗的請求。默認狀況下,該邏輯被禁用,您能夠經過將Spring重試添加到應用程序的類路徑來啓用它。負載平衡RestTemplate將符合與重試失敗請求相關的一些Ribbon配置值。若是要在類路徑中使用Spring重試來禁用重試邏輯,則能夠設置spring.cloud.loadbalancer.retry.enabled=false。您可使用的屬性是client.ribbon.MaxAutoRetries,client.ribbon.MaxAutoRetriesNextServer和client.ribbon.OkToRetryOnAllOperations。請參閱Ribbon文檔 ,瞭解屬性的具體內容。htm

注意 上述示例中的client應替換爲您的Ribbon客戶端名稱。blog

源碼來源:http://minglisoft.cn/honghu/technology.html文檔

相關文章
相關標籤/搜索