背景
它基于Netflix Feign實現(xiàn)亚享,整合了SpringCloud Ribbon與SpringCloud Hystrix。除了提供這兩個強大的功能以外忽洛,還提供了一種聲明式的web服務客戶端定義方式腻惠。我們只需創(chuàng)建一個接口并用注解的方式來配置它,即可完成對服務提供方的接口綁定欲虚。Feign使得java HTTP客戶端編寫變得更為方便集灌。
RestTemplate的弊端
通過RestTemplate調用API大致代碼如下:
RestTemplate
Feign使用
-
添加Feign依賴:依賴
- 啟動類上添加注解@EnableFeignClients
-
創(chuàng)建一個Feign接口,并添加@FeignClient注解:創(chuàng)建接口
-
調用Feign接口:調用接口
Feign的重試機制
Feign中實現(xiàn)了請求的重試機制梯找,當請求超過指定的時間后會啟動請求重試機制唆阿,有以下兩個重要的參數(shù):
- MaxAutoRetries:嘗試訪問首選實例的次數(shù)
- MaxAutoRetriesNextServer:嘗試更換實例進行重試的次數(shù)
總結
其實通過Feign封裝了HTTP調用服務方法,使得客戶端像調用本地方法那樣直接遠程服務的方法