中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringCloud微服務熔斷器Hystrix如何使用

發布時間:2022-07-18 14:06:07 來源:億速云 閱讀:137 作者:iii 欄目:開發技術

這篇文章主要介紹了SpringCloud微服務熔斷器Hystrix如何使用的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇SpringCloud微服務熔斷器Hystrix如何使用文章都會有所收獲,下面我們一起來看看吧。

什么是Hystrix

在日常生活用電中,如果我們的電路中正確地安置了保險絲,那么在電壓異常升高時,保險絲就會熔斷以便切斷電流,從而起到保護電路安全運行的作用。

在貨船中,為了防止漏水和火災的擴散,一般會將貨倉進行分割,避免了一個貨倉出事導致整艘船沉沒的悲劇,這就是艙壁保護機制。

Hystrix提供的熔斷器也類似,在調用某個服務提供者時,當一定時間內請求總數超過配置的閾值,且窗口期內錯誤率過高,那Hystrix就會對調用請求熔斷,后續的請求直接短路,進入降級邏輯,并執行本地的降級策略。

SpringCloud微服務熔斷器Hystrix如何使用

同時Hystrix也將系統中的服務提供者隔離起來,一個服務提供者延遲過高或者失敗,并不會導致整個系統的失敗,同時也能夠控制調用這些服務的并發度。

總之,Hystrix 能使你的系統在出現依賴服務失效的時候,通過隔離系統所依賴的服務,防止服務級聯失敗,同時提供失敗回退機制,更優雅地應對失效,并使你的系統能更快地從異常中恢復。

Hystrix實戰

接著我們上篇文章中的dms服務,進行如下修改:

Feign 本身就支持Hystrix,不需要額外引入依賴。

1、首先修改調用方app服務的配置文件application.xml,開啟hystrix

feign:
 hystrix:
  enabled: true

2、增加服務熔斷處理類,實現DmsApi接口

@Component
public class DmsHystrixImpl implements DmsApi {
    @Override
    public String findNameByCode(String code) {
        return "服務器故障";
    }
}

3、修改接口類注解,增加熔斷處理類:fallback = DmsHystrixImpl.class;

(Spring Cloud Feign HTTP請求異常Fallback容錯機制,它是基于Hystrix實現的,所以要通過配置參數feign.hystrix.enabled=true開啟該功能)

@FeignClient(value = "dms",fallback = DmsHystrixImpl.class)
public interface DmsApi {
    @RequestMapping(value="/dict/[code]", method = RequestMethod.GET)
    public String findNameByCode(@PathVariable("code") String code);
}

4、增加異常代碼,以便驗證

@RestController
public class DmsController implements DmsApi {
    @Override
    public String findNameByCode(String code) {
        Integer.parseInt("a");
        switch (code){
            case "0" :
                return "男";
            case "1" :
                return "女";
            default:
                return "未知";
        }
    }
}

5、啟動項目,進行驗證,返回正確結果。

SpringCloud微服務熔斷器Hystrix如何使用

關于“SpringCloud微服務熔斷器Hystrix如何使用”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“SpringCloud微服務熔斷器Hystrix如何使用”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

东方市| 旬阳县| 兴宁市| 罗山县| 岗巴县| 石首市| 仁化县| 青浦区| 土默特左旗| 阳曲县| 鄯善县| 奉节县| 横峰县| 泾川县| 安康市| 渭源县| 翁牛特旗| 莱芜市| 安达市| 东平县| 改则县| 志丹县| 延长县| 九龙坡区| 同仁县| 阿拉尔市| 鄂尔多斯市| 丰城市| 寻乌县| 宿松县| 崇礼县| 江达县| 宜阳县| 米林县| 嵊泗县| 堆龙德庆县| 四川省| 彰化县| 北流市| 关岭| 古田县|