springcloud?feign集成hystrix方式
本章介紹feign集成hystrix
1、增加pom依賴`
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-hystrix</artifactId> </dependency>
2、啟動(dòng)類中增加注解
@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超時(shí)時(shí)間長(zhǎng) circuitBreaker: requestVolumeThreshold: 1000 threadpool: default: coreSize: 60 maxQueueSize: 200 queueSizeRejectionThreshold: 200 ribbon: ReadTimeout: 500 ConnectTimeout: 500 ExecTimeout: 500 MaxAutoRetries: 1 //最好設(shè)置超時(shí)重試
這里如果需要查看hystrix監(jiān)控,可以集成Hystrix Dashboard,詳情參考
下圖是我集成grafana 、prometheus的監(jiān)控圖
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Eclipse中實(shí)現(xiàn)JS代碼提示功能(圖文教程)
本文通過(guò)圖文并茂的形式給大家介紹了Eclipse中實(shí)現(xiàn)JS代碼提示功能,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧2017-11-11值得Java開(kāi)發(fā)者關(guān)注的7款新工具
作為老牌語(yǔ)言Java,其生態(tài)圈也出來(lái)了一些有關(guān)云服務(wù)、監(jiān)控、文檔分享方面的工具,這篇文章主要介紹了Java開(kāi)發(fā)者值得關(guān)注的7款新工具,感興趣的小伙伴們可以參考一下2016-07-07RocketMQ特性Broker存儲(chǔ)事務(wù)消息實(shí)現(xiàn)
這篇文章主要為大家介紹了RocketMQ特性Broker存儲(chǔ)事務(wù)消息實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08SpringBoot多數(shù)據(jù)源配置的全過(guò)程記錄
在用SpringBoot開(kāi)發(fā)項(xiàng)目時(shí),隨著業(yè)務(wù)量的擴(kuò)大,我們通常會(huì)進(jìn)行數(shù)據(jù)庫(kù)拆分或是引入其他數(shù)據(jù)庫(kù),從而我們需要配置多個(gè)數(shù)據(jù)源,下面這篇文章主要給大家介紹了關(guān)于SpringBoot多數(shù)據(jù)源配置的相關(guān)資料,需要的朋友可以參考下2021-11-11Java實(shí)現(xiàn)Dijkstra算法的示例代碼
Dijkstra(迪杰斯特拉)算法是典型的單源最短路徑算法,用于計(jì)算一個(gè)節(jié)點(diǎn)到其他所有節(jié)點(diǎn)的最短路徑。本文主要介紹了實(shí)現(xiàn)這一算法的Java代碼,需要的可以參考一下2022-07-07詳解java CountDownLatch和CyclicBarrier在內(nèi)部實(shí)現(xiàn)和場(chǎng)景上的區(qū)別
這篇文章主要介紹了詳解java CountDownLatch和CyclicBarrier在內(nèi)部實(shí)現(xiàn)和場(chǎng)景上的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05Java模擬新浪和騰訊自動(dòng)登錄并發(fā)送微博
這篇文章主要為大家詳細(xì)介紹了Java模擬新浪和騰訊自動(dòng)登錄并發(fā)送微博功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-07-07Maven?dependency?plugin使用心得總結(jié)
這篇文章主要給大家介紹了關(guān)于Maven?dependency?plugin使用心得的相關(guān)資料,Maven是一個(gè)常用的Java build Manager,使用Maven可以很好的對(duì)Java Project的dependency進(jìn)行管理,需要的朋友可以參考下2023-10-10Java實(shí)戰(zhàn)之基于TCP實(shí)現(xiàn)簡(jiǎn)單聊天程序
這篇文章主要為大家詳細(xì)介紹了如何在Java中基于TCP實(shí)現(xiàn)簡(jiǎn)單聊天程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03