RestTemplate
能夠自動配置爲使用功能區。要建立負載平衡RestTemplate
建立RestTemplate
@Bean
並使用@LoadBalanced
限定符。java
警告:經過自動配置再也不建立RestTemplate
bean。它必須由單個應用程序建立。git
@Configuration public class MyConfiguration { @LoadBalanced @Bean RestTemplate restTemplate() { return new RestTemplate(); } } public class MyClass { @Autowired private RestTemplate restTemplate; public String doOtherStuff() { String results = restTemplate.getForObject("http://stores/stores", String.class); return results; } }
URI須要使用虛擬主機名(即服務名稱,而不是主機名)。Ribbon客戶端用於建立完整的物理地址。有關 如何設置RestTemplate
的詳細信息,請參閱 RibbonAutoConfiguration。github
負載平衡RestTemplate
能夠配置爲重試失敗的請求。默認狀況下,該邏輯被禁用,您能夠經過將Spring重試添加到應用程序的類路徑來啓用它。負載平衡RestTemplate
將符合與重試失敗請求相關的一些Ribbon配置值。若是要在類路徑中使用Spring重試來禁用重試邏輯,則能夠設置spring.cloud.loadbalancer.retry.enabled=false
。您可使用的屬性是client.ribbon.MaxAutoRetries
,client.ribbon.MaxAutoRetriesNextServer
和client.ribbon.OkToRetryOnAllOperations
。請參閱Ribbon文檔 ,瞭解屬性的具體內容。spring