Spring RestTemplate作為負載平衡器客戶端
06-05
Spring RestTemplate作為負載平衡器客戶端
RestTemplate
可以自動配置為使用功能區。要創建負載平衡RestTemplate
創建RestTemplate
@Bean
並使用@LoadBalanced
限定符。
警告:通過自動配置不再創建RestTemplate
bean。它必須由單個應用程序創建。
@Configuration
public class MyConfiguration {
@LoadBalanced @Bean RestTemplate restTemplate() {return new RestTemplate();
}}public class MyClass { @Autowiredprivate RestTemplate restTemplate;
public String doOtherStuff() { String results = restTemplate.getForObject("http://stores/stores", String.class); return results; }}
URI需要使用虛擬主機名(即服務名稱,而不是主機名)。Ribbon客戶端用於創建完整的物理地址。有關 如何設置RestTemplate
的詳細信息,請參閱 RibbonAutoConfiguration。
重試失敗的請求
負載平衡RestTemplate
可以配置為重試失敗的請求。默認情況下,該邏輯被禁用,您可以通過將Spring重試添加到應用程序的類路徑來啟用它。負載平衡RestTemplate
將符合與重試失敗請求相關的一些Ribbon配置值。如果要在類路徑中使用Spring重試來禁用重試邏輯,則可以設置spring.cloud.loadbalancer.retry.enabled=false
。您可以使用的屬性是client.ribbon.MaxAutoRetries
,client.ribbon.MaxAutoRetriesNextServer
和client.ribbon.OkToRetryOnAllOperations
。請參閱Ribbon文檔 ,了解屬性的具體內容。
推薦閱讀:
※Spring Cloud雲服務架構代碼結構構建
※初識Spring ^_^ !
※Spring Boot 整合 Thymeleaf 完整 Web 案例
※Spring(1):概念及ioc操作
TAG:WebService | 客戶端 | Spring |