亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JAVA熔斷和降級(jí)真實(shí)關(guān)系的圖文詳解

 更新時(shí)間:2021年09月03日 11:50:50   作者:java葉新東老師  
這篇文章主要介紹了Java熔斷和降級(jí)的關(guān)系,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

剛開(kāi)始我以為熔斷和降級(jí)是一體的,以為他們必須配合使用; 只不過(guò)名字不一樣而已,但是當(dāng)我經(jīng)過(guò)思考過(guò)后,發(fā)現(xiàn)他們其實(shí)不是一個(gè)東西;

降級(jí)

什么是服務(wù)降級(jí)呢?降級(jí)主要有以下幾種情況

  • 超時(shí):當(dāng)下游的服務(wù)因?yàn)槟撤N原因響應(yīng)過(guò)慢,下游服務(wù)主動(dòng)停掉一些不太重要的業(yè)務(wù),釋放出服務(wù)器資源,增加響應(yīng)速度!
  • 不可用:當(dāng)下游的服務(wù)因?yàn)槟撤N原因不可用,上游主動(dòng)調(diào)用本地的一些降級(jí)邏輯,避免卡頓,迅速返回給用戶!
  • 限流:防止上游服務(wù)請(qǐng)求太多導(dǎo)致服務(wù)崩潰,所以限制請(qǐng)求的數(shù)量,來(lái)達(dá)到保護(hù)下游服務(wù)的目的,當(dāng)請(qǐng)求的流量到達(dá)一定閾值時(shí),直接拒絕多余的請(qǐng)求,執(zhí)行降級(jí)邏輯

看到這,相信你已經(jīng)看到了一個(gè)相同點(diǎn),就是以上三者(超時(shí)、不可用、限流)觸發(fā)時(shí),都會(huì)走同一個(gè)邏輯,那就是降級(jí)邏輯,在hystrix里面叫做fallback;

在這里插入圖片描述

熔斷

什么是服務(wù)熔斷

熔斷很好理解,就是一個(gè)斷開(kāi)的過(guò)程;

熔斷就像是家里的保險(xiǎn)絲一樣,當(dāng)電流達(dá)到一定條件時(shí),比如保險(xiǎn)絲能承受的電流是5A,如果你的電流達(dá)到了6A,因?yàn)楸kU(xiǎn)絲承受不了這么高的電流,保險(xiǎn)絲就會(huì)融化,這時(shí)候電路就會(huì)斷開(kāi),起到了保護(hù)電器的作用;

在微服務(wù)里面也是一樣,當(dāng)下游的服務(wù)因?yàn)槟撤N原因突然變得不可用或響應(yīng)過(guò)慢,上游服務(wù)為了保證自己整體服務(wù)的可用性,不再繼續(xù)調(diào)用目標(biāo)服務(wù),直接返回,快速釋放資源。如果目標(biāo)服務(wù)情況好轉(zhuǎn)則恢復(fù)調(diào)用;

熔斷和降級(jí)的關(guān)系

說(shuō)了那么多,其實(shí)也能想到了,降級(jí)和熔斷其實(shí)就是服務(wù)安全中的2個(gè)不同的流程,在服務(wù)發(fā)生故障時(shí),肯定是先斷開(kāi)(熔斷)與服務(wù)的連接,然后在執(zhí)行降級(jí)邏輯;

在這里插入圖片描述

那既然不管怎樣都會(huì)執(zhí)行降級(jí)邏輯,這時(shí)候就可以理解為 降級(jí)是一種設(shè)計(jì)思想,在java層面就是一個(gè)接口,而熔斷是降級(jí)的不同實(shí)現(xiàn)方式,他們的關(guān)系如下圖:

在這里插入圖片描述

降級(jí)方式

那么我們現(xiàn)在知道降級(jí)是一個(gè)接口了,接下來(lái)在看看他們的實(shí)現(xiàn)方式是怎樣的吧

1、熔斷降級(jí)(不可用)

熔斷邏輯是這樣的,A服務(wù)調(diào)用B服務(wù),失敗次數(shù)達(dá)到一定閾值后 ,A服務(wù)的斷路器打開(kāi),就不在請(qǐng)求B服務(wù),而是直接執(zhí)行本地的fallback方法;這種叫做熔斷降級(jí),看到這里,也許你已經(jīng)明白了,熔斷只是降級(jí)的其中一種實(shí)現(xiàn)方式;

在這里插入圖片描述

2、超時(shí)降級(jí)

同樣是A服務(wù)調(diào)用B服務(wù),B服務(wù)響應(yīng)超過(guò)了A服務(wù)設(shè)定的閾值后,就會(huì)執(zhí)行降級(jí)邏輯;

在這里插入圖片描述

3、限流降級(jí)

同樣是A服務(wù)調(diào)用B服務(wù),服務(wù)A的連接已超過(guò)自身能承載的最大連接數(shù),比如說(shuō)A能承載的連接數(shù)為5,但是目前的并發(fā)有6個(gè)請(qǐng)求同時(shí)進(jìn)行,前5請(qǐng)求能正常請(qǐng)求,最后一個(gè)會(huì)直接拒絕,執(zhí)行fallback降級(jí)邏輯;

在這里插入圖片描述

總結(jié)

本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • 關(guān)于SpringGateway調(diào)用服務(wù) 接受不到參數(shù)問(wèn)題

    關(guān)于SpringGateway調(diào)用服務(wù) 接受不到參數(shù)問(wèn)題

    這篇文章主要介紹了關(guān)于SpringGateway調(diào)用服務(wù)接受不到參數(shù)問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • 詳解SpringBoot?JPA常用注解的使用方法

    詳解SpringBoot?JPA常用注解的使用方法

    這篇文章主要介紹了SpringBoot?JPA常用注解的使用方法,spring?boot作為當(dāng)前主流的技術(shù),來(lái)看看常用的注解怎么用,如果有錯(cuò)誤的地方還請(qǐng)指正,需要的朋友可以參考下
    2023-03-03
  • JPA多條件復(fù)雜SQL動(dòng)態(tài)分頁(yè)查詢功能

    JPA多條件復(fù)雜SQL動(dòng)態(tài)分頁(yè)查詢功能

    這篇文章主要介紹了JPA多條件復(fù)雜SQL動(dòng)態(tài)分頁(yè)查詢功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Java 數(shù)據(jù)結(jié)構(gòu)之堆的概念與應(yīng)用

    Java 數(shù)據(jù)結(jié)構(gòu)之堆的概念與應(yīng)用

    堆是一顆完全二叉樹(shù),在這棵樹(shù)中,所有父節(jié)點(diǎn)都滿足大于等于其子節(jié)點(diǎn)的堆叫大根堆,所有父節(jié)點(diǎn)都滿足小于等于其子節(jié)點(diǎn)的堆叫小根堆,堆雖然是一顆樹(shù),但是通常存放在一個(gè)數(shù)組中,父節(jié)點(diǎn)和孩子節(jié)點(diǎn)的父子關(guān)系通過(guò)數(shù)組下標(biāo)來(lái)確定
    2021-10-10
  • 詳解Mybatis動(dòng)態(tài)sql

    詳解Mybatis動(dòng)態(tài)sql

    MyBatis的動(dòng)態(tài)SQL是基于OGNL表達(dá)式的,它可以幫助我們方便的在SQL語(yǔ)句中實(shí)現(xiàn)某些邏輯。本文給大家介紹Mybatis動(dòng)態(tài)sql小結(jié),感興趣的朋友參考下
    2016-04-04
  • java書(shū)店系統(tǒng)畢業(yè)設(shè)計(jì) 用戶模塊(3)

    java書(shū)店系統(tǒng)畢業(yè)設(shè)計(jì) 用戶模塊(3)

    這篇文章主要介紹了java書(shū)店系統(tǒng)畢業(yè)設(shè)計(jì),第三步系統(tǒng)總體設(shè)計(jì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • Java程序包裝成桌面應(yīng)用程序方式

    Java程序包裝成桌面應(yīng)用程序方式

    這篇文章主要介紹了Java程序包裝成桌面應(yīng)用程序方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Vue中computed計(jì)算屬性和data數(shù)據(jù)獲取方式

    Vue中computed計(jì)算屬性和data數(shù)據(jù)獲取方式

    這篇文章主要介紹了Vue中computed計(jì)算屬性和data數(shù)據(jù)獲取方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Java打印九九乘法表代碼詳情

    Java打印九九乘法表代碼詳情

    這篇文章主要介紹了Java打印九九乘法表,使用了雙重for循環(huán),使用do{}while()實(shí)現(xiàn)打印九九乘法表這些好玩的語(yǔ)法實(shí)現(xiàn),感興趣的小伙伴可參考下面文章內(nèi)容
    2021-09-09
  • java生成隨機(jī)數(shù)(字符串)示例分享

    java生成隨機(jī)數(shù)(字符串)示例分享

    這篇文章主要介紹了java生成隨機(jī)數(shù)(字符串)示例分享,需要的朋友可以參考下
    2014-03-03

最新評(píng)論