springcloud?feign集成hystrix方式
本章介紹feign集成hystrix
1、增加pom依賴`
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-hystrix</artifactId> </dependency>
2、啟動類中增加注解
@EnableHystrix
3、增加feign接口fallback以及相關(guān)配置
DemoService
@ConditionalOnProperty(name = "app.host.abcurl") @FeignClient(value = "demo-service", url = "${app.host.abcurl}" ,fallback = DemoServiceFallbackImpl .class) public interface DemoService { @GetMapping("/v1/api/getCateData") ApiResponse<Page<Object>> getCateData(@RequestParam Map<String,String> params); @GetMapping("/v1/api/getProductData") ApiResponse<Page<Detail>> getProductData(@RequestParam Map<String,String> params); }
DemoServiceFallbackImpl
@Slf4j @Component public class DemoServiceFallbackImpl implements DemoService { @Override public ApiResponse<Page<Object>> getCateData (Map<String, String> params) { log.warn("DemoServiceFallbackImpl getCateData fail"); return null; } @Override public ApiResponse<Page<Detail>> getProductData(Map<String, String> params) { log.warn("DemoServiceFallbackImpl getProductData fail"); return null; } }
4、增加yml相關(guān)配置
feign: httpclient: enabled: true hystrix: enabled: true hystrix: command: default: execution: timeout: enabled: true isolation: thread: timeoutInMilliseconds: 1000 //該配置需要比ribbon超時時間長 circuitBreaker: requestVolumeThreshold: 1000 threadpool: default: coreSize: 60 maxQueueSize: 200 queueSizeRejectionThreshold: 200 ribbon: ReadTimeout: 500 ConnectTimeout: 500 ExecTimeout: 500 MaxAutoRetries: 1 //最好設(shè)置超時重試
這里如果需要查看hystrix監(jiān)控,可以集成Hystrix Dashboard,詳情參考
下圖是我集成grafana 、prometheus的監(jiān)控圖
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Eclipse中實現(xiàn)JS代碼提示功能(圖文教程)
本文通過圖文并茂的形式給大家介紹了Eclipse中實現(xiàn)JS代碼提示功能,非常不錯,具有參考借鑒價值,需要的朋友參考下吧2017-11-11RocketMQ特性Broker存儲事務(wù)消息實現(xiàn)
這篇文章主要為大家介紹了RocketMQ特性Broker存儲事務(wù)消息實現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-08-08SpringBoot多數(shù)據(jù)源配置的全過程記錄
在用SpringBoot開發(fā)項目時,隨著業(yè)務(wù)量的擴大,我們通常會進行數(shù)據(jù)庫拆分或是引入其他數(shù)據(jù)庫,從而我們需要配置多個數(shù)據(jù)源,下面這篇文章主要給大家介紹了關(guān)于SpringBoot多數(shù)據(jù)源配置的相關(guān)資料,需要的朋友可以參考下2021-11-11詳解java CountDownLatch和CyclicBarrier在內(nèi)部實現(xiàn)和場景上的區(qū)別
這篇文章主要介紹了詳解java CountDownLatch和CyclicBarrier在內(nèi)部實現(xiàn)和場景上的區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05Maven?dependency?plugin使用心得總結(jié)
這篇文章主要給大家介紹了關(guān)于Maven?dependency?plugin使用心得的相關(guān)資料,Maven是一個常用的Java build Manager,使用Maven可以很好的對Java Project的dependency進行管理,需要的朋友可以參考下2023-10-10Java實戰(zhàn)之基于TCP實現(xiàn)簡單聊天程序
這篇文章主要為大家詳細介紹了如何在Java中基于TCP實現(xiàn)簡單聊天程序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03