欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringCloud微服務熔斷器Hystrix使用詳解

 更新時間:2022年07月16日 11:43:20   作者:_時光煮雨  
這篇文章主要介紹了Spring Cloud Hyxtrix的基本使用,它是Spring Cloud中集成的一個組件,在整個生態(tài)中主要為我們提供服務隔離,服務熔斷,服務降級功能,本文給大家介紹的非常詳細,需要的朋友可以參考下

什么是Hystrix

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

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

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

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

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

Hystrix實戰(zhàn)

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

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

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

feign:
 hystrix:
  enabled: true

2、增加服務熔斷處理類,實現(xiàn)DmsApi接口

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

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

(Spring Cloud Feign HTTP請求異常Fallback容錯機制,它是基于Hystrix實現(xiàn)的,所以要通過配置參數(shù)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、啟動項目,進行驗證,返回正確結果。

總結

在微服務架構中,通常會有多個服務間相互調用,基礎服務的故障可能會導致級聯(lián)故障,進而造成整個系統(tǒng)不可用的情況,這種現(xiàn)象被稱為服務雪崩效應。服務雪崩效應是一種因“服務提供者”的不可用導致“服務消費者”的不可用,并將不可用逐漸放大的過程。

如:A作為服務提供者,B為A的服務消費者,C和D是B的服務消費者。A不可用引起了B的不可用,并將不可用像滾雪球一樣放大到C和D時,雪崩效應就形成了。為了避免雪崩效應的形成,就需要使用Hystrix。

到此這篇關于SpringCloud微服務熔斷器Hystrix使用詳解的文章就介紹到這了,更多相關SpringCloud Hystrix內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論