spring cloud hystrix 超時時間使用方式詳解
我們在使用后臺微服務的時候,各個服務之前會有很多請求和交叉業(yè)務。這里會引起雪崩、超時等異常處理。SpringCloud Hystrix服務降級、容錯機治理使 hystrix 有很好的支持,引入后實現(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屬性要設置true
hystrix:
command:
transferApprove: # 這里是要設置超時時間的方法,如新增其他方法需要增加此節(jié)點信息。
execution:
isolation:
thread:
timeoutInMilliseconds: 6000 #默認連接超時時間是1秒
4:增加代碼
代碼注意fastOrBatchFallback的出參和入?yún)⒁驮O置了@HystrixCommand注解方法一致,否則會拋出異常。
@Override
@HystrixCommand(fallbackMethod = "fastOrBatchFallback")
public ResultModel transferApprove(TransferApproveDto dto) {
log.info("調動流程審批:{}", 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("請求ps服務超時,請稍后再試.入?yún)?{}", GsonUtils.toJsonString(transferApproveDto));
return ResultModel.fail("請求服務超時,請稍后再試", "ps服務超時,請稍后再試");
}
5: 待解決和研究問題?
hystrix 執(zhí)行了Fallback之后是否繼續(xù)走其他邏輯,目前可知的是繼續(xù)走其他邏輯,如果讓它不觸發(fā)后序的邏輯怎么配置?
這里先打一個問號,歡迎大家一起討論和解決。
到此這篇關于spring cloud hystrix 超時時間使用方式的文章就介紹到這了,更多相關spring cloud超時時間內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
springBoot集成Elasticsearch 報錯 Health check failed的解決
這篇文章主要介紹了springBoot集成Elasticsearch 報錯 Health check failed的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08
Java GUI進階之流式布局管理器FlowLayout專項精講
FlowLayout-流式布局管理器,按水平方向依次排列放置組件,排滿一行,換下一行繼續(xù)排列。排列方向(左到右 或 右到左)取決于容器的componentOrientation屬性2022-04-04
SpringCloud筆記(Hoxton)Netflix之Ribbon負載均衡示例代碼
這篇文章主要介紹了SpringCloud筆記HoxtonNetflix之Ribbon負載均衡,Ribbon是管理HTTP和TCP服務客戶端的負載均衡器,Ribbon具有一系列帶有名稱的客戶端(Named?Client),對SpringCloud?Ribbon負載均衡相關知識感興趣的朋友一起看看吧2022-06-06

