最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringCloud微服務(wù)熔斷器Hystrix使用詳解

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

什么是Hystrix

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

在貨船中,為了防止漏水和火災(zāi)的擴(kuò)散,一般會將貨倉進(jìn)行分割,避免了一個(gè)貨倉出事導(dǎo)致整艘船沉沒的悲劇,這就是艙壁保護(hù)機(jī)制。

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

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

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

Hystrix實(shí)戰(zhàn)

接著我們上篇文章中的dms服務(wù),進(jìn)行如下修改:

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

1、首先修改調(diào)用方app服務(wù)的配置文件application.xml,開啟hystrix

feign:
 hystrix:
  enabled: true

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

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

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

(Spring Cloud Feign HTTP請求異常Fallback容錯(cuò)機(jī)制,它是基于Hystrix實(shí)現(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、增加異常代碼,以便驗(yàn)證

@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、啟動(dòng)項(xiàng)目,進(jìn)行驗(yàn)證,返回正確結(jié)果。

總結(jié)

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

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

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

相關(guān)文章

  • 使用ShardingSphere-Proxy實(shí)現(xiàn)分表分庫

    使用ShardingSphere-Proxy實(shí)現(xiàn)分表分庫

    這篇文章介紹了使用ShardingSphere-Proxy實(shí)現(xiàn)分表分庫的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-02-02
  • IDEA中Maven的一些常用操作指南

    IDEA中Maven的一些常用操作指南

    intellij idea是一款很流行好用的集成開發(fā)環(huán)境軟件,maven是使用很廣泛的構(gòu)建工具,java開發(fā)者日常少不了與這兩種工具打交道,下面這篇文章主要給大家介紹了關(guān)于IDEA中Maven的一些常用操作指南,需要的朋友可以參考下
    2024-06-06
  • 使用Spring Cache和Redis實(shí)現(xiàn)查詢數(shù)據(jù)緩存

    使用Spring Cache和Redis實(shí)現(xiàn)查詢數(shù)據(jù)緩存

    在現(xiàn)代應(yīng)用程序中,查詢緩存的使用已經(jīng)變得越來越普遍,它不僅能夠顯著提高系統(tǒng)的性能,還能提升用戶體驗(yàn),在這篇文章中,我們將探討緩存的基本概念、重要性以及如何使用Spring Cache和Redis實(shí)現(xiàn)查詢數(shù)據(jù)緩存,需要的朋友可以參考下
    2024-07-07
  • Spring Cloud中配置客戶端示例詳解

    Spring Cloud中配置客戶端示例詳解

    這篇文章主要介紹了Spring Cloud中配置客戶端的相關(guān)知識,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-09-09
  • springcloud配置ssh的問題及解決方法

    springcloud配置ssh的問題及解決方法

    這篇文章主要介紹了springcloud配置ssh,本文給大家介紹在配置過程中遇到的問題及解決方法,通過結(jié)合實(shí)例給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • Java集合基礎(chǔ)知識 List/Set/Map詳解

    Java集合基礎(chǔ)知識 List/Set/Map詳解

    這篇文章主要介紹了Java集合基礎(chǔ)知識 List/Set/Map,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Java實(shí)現(xiàn)淘寶秒殺聚劃算搶購自動(dòng)提醒源碼

    Java實(shí)現(xiàn)淘寶秒殺聚劃算搶購自動(dòng)提醒源碼

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)淘寶秒殺聚劃算搶購自動(dòng)提醒源碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • JAVA中的日期LocalDate類詳細(xì)用法講解

    JAVA中的日期LocalDate類詳細(xì)用法講解

    Java中存在一個(gè)日歷表示法的類庫,LocalDate類,如果只想要指定的年月日就可以用這個(gè)LocalDate類,下面這篇文章主要給大家介紹了關(guān)于JAVA中日期LocalDate類詳細(xì)用法講解的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • Java?Playwright實(shí)現(xiàn)瀏覽器最大化

    Java?Playwright實(shí)現(xiàn)瀏覽器最大化

    Playwright?是一個(gè)用于自動(dòng)化?Web?應(yīng)用測試的現(xiàn)代工具,支持多種語言(包括?Java)及多個(gè)瀏覽器,本文主要介紹了Java如何使用Playwright實(shí)現(xiàn)瀏覽器最大化,需要的可以參考下
    2024-12-12
  • 將List集合中的map對象轉(zhuǎn)為List<對象>形式實(shí)例代碼

    將List集合中的map對象轉(zhuǎn)為List<對象>形式實(shí)例代碼

    這篇文章主要介紹了將List集合中的map對象轉(zhuǎn)為List<對象>形式實(shí)例代碼,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01

最新評論

万宁市| 三穗县| 高州市| 东兴市| 全南县| 辽中县| 辽源市| 南康市| 宁强县| 富平县| 建平县| 乐业县| 什邡市| 淅川县| 湖州市| 麻栗坡县| 株洲县| 邛崃市| 兴宁市| 西林县| 石楼县| 新安县| 且末县| 吉安县| 益阳市| 正镶白旗| 图木舒克市| 乐平市| 黄平县| 金沙县| 南雄市| 龙山县| 凤台县| 英超| 西华县| 商南县| 梁山县| 济宁市| 聊城市| 黄龙县| 卫辉市|