spring cloud hystrix 超時(shí)時(shí)間使用方式詳解
我們?cè)谑褂煤笈_(tái)微服務(wù)的時(shí)候,各個(gè)服務(wù)之前會(huì)有很多請(qǐng)求和交叉業(yè)務(wù)。這里會(huì)引起雪崩、超時(shí)等異常處理。SpringCloud Hystrix服務(wù)降級(jí)、容錯(cuò)機(jī)治理使 hystrix 有很好的支持,引入后實(shí)現(xiàn)斷路器功能。
1:pom 引入jar包
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>
2:添加注解
Application中增加 @EnableCircuitBreaker 開啟hystrix功能
3:配置文件配置
注意:feign中的hystrix的enabled屬性要設(shè)置true
hystrix:
command:
transferApprove: # 這里是要設(shè)置超時(shí)時(shí)間的方法,如新增其他方法需要增加此節(jié)點(diǎn)信息。
execution:
isolation:
thread:
timeoutInMilliseconds: 6000 #默認(rèn)連接超時(shí)時(shí)間是1秒
4:增加代碼
代碼注意fastOrBatchFallback的出參和入?yún)⒁驮O(shè)置了@HystrixCommand注解方法一致,否則會(huì)拋出異常。
@Override
@HystrixCommand(fallbackMethod = "fastOrBatchFallback")
public ResultModel transferApprove(TransferApproveDto dto) {
log.info("調(diào)動(dòng)流程審批:{}", dto);
if (StringUtils.isEmpty(dto.getOperatorId())
|| StringUtils.isEmpty(dto.getFlowNos())
|| StringUtils.isEmpty(dto.getOperatorId())) {
return ResultModel.fail(-1, "參數(shù)異常");
}
}
public ResultModel fastOrBatchFallback(TransferApproveDto transferApproveDto) {
log.info("請(qǐng)求ps服務(wù)超時(shí),請(qǐng)稍后再試.入?yún)?{}", GsonUtils.toJsonString(transferApproveDto));
return ResultModel.fail("請(qǐng)求服務(wù)超時(shí),請(qǐng)稍后再試", "ps服務(wù)超時(shí),請(qǐng)稍后再試");
}
5: 待解決和研究問題?
hystrix 執(zhí)行了Fallback之后是否繼續(xù)走其他邏輯,目前可知的是繼續(xù)走其他邏輯,如果讓它不觸發(fā)后序的邏輯怎么配置?
這里先打一個(gè)問號(hào),歡迎大家一起討論和解決。
到此這篇關(guān)于spring cloud hystrix 超時(shí)時(shí)間使用方式的文章就介紹到這了,更多相關(guān)spring cloud超時(shí)時(shí)間內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springBoot集成Elasticsearch 報(bào)錯(cuò) Health check failed的解決
這篇文章主要介紹了springBoot集成Elasticsearch 報(bào)錯(cuò) Health check failed的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08
Java GUI進(jìn)階之流式布局管理器FlowLayout專項(xiàng)精講
FlowLayout-流式布局管理器,按水平方向依次排列放置組件,排滿一行,換下一行繼續(xù)排列。排列方向(左到右 或 右到左)取決于容器的componentOrientation屬性2022-04-04
SpringCloud筆記(Hoxton)Netflix之Ribbon負(fù)載均衡示例代碼
這篇文章主要介紹了SpringCloud筆記HoxtonNetflix之Ribbon負(fù)載均衡,Ribbon是管理HTTP和TCP服務(wù)客戶端的負(fù)載均衡器,Ribbon具有一系列帶有名稱的客戶端(Named?Client),對(duì)SpringCloud?Ribbon負(fù)載均衡相關(guān)知識(shí)感興趣的朋友一起看看吧2022-06-06
java教學(xué)筆記之對(duì)象的創(chuàng)建與銷毀
面向?qū)ο蟮木幊陶Z言使程序能夠直觀的反應(yīng)客觀世界的本來面目,并且使軟件開發(fā)人員能夠運(yùn)用人類認(rèn)識(shí)事物所采用的一般思維方法進(jìn)行軟件開發(fā),是當(dāng)今計(jì)算機(jī)領(lǐng)域中軟件開發(fā)和應(yīng)用的主流技術(shù)。2016-01-01
java插入排序和希爾排序?qū)崿F(xiàn)思路及代碼
這篇文章主要介紹了插入排序和希爾排序兩種排序算法,文章通過代碼示例和圖解詳細(xì)介紹了這兩種排序算法的實(shí)現(xiàn)過程和原理,需要的朋友可以參考下2025-03-03

