成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

面試官:熔斷和降級有什么區(qū)別?

開發(fā) 前端
在 Sentinel 中,熔斷和降級功能指的都是同一件事,也側(cè)面證明了“熔斷”和“降級”概念的相似性。但我們要知道它們本質(zhì)上是不同的,就像兩個雙胞胎,不能因為他們長得像,就說他們是同一個人。

熔斷和降級都是系統(tǒng)自我保護的一種機制,但二者又有所不同,它們的區(qū)別主要體現(xiàn)在以下幾點:

  1. 概念不同
  2. 觸發(fā)條件不同
  3. 歸屬關系不同

1.概念不同

1.1 熔斷概念

“熔斷”一詞早期來自股票市場。熔斷(Circuit Breaker)也叫自動停盤機制,是指當股指波幅達到規(guī)定的熔斷點時,交易所為控制風險采取的暫停交易措施。比如 2020 年 3 月 9 日,紐約股市開盤出現(xiàn)暴跌,隨后跌幅達到 7% 上限,觸發(fā)熔斷機制,停止交易 15 分鐘,恢復交易后跌幅有所減緩。

而熔斷在程序中,表示“斷開”的意思。如發(fā)生了某事件,程序為了整體的穩(wěn)定性,所以暫時(斷開)停止服務一段時間,以保證程序可用時再被使用。

如果沒有熔斷機制的話,會導致聯(lián)機故障和服務雪崩等問題,如下圖所示:

圖片

1.2 降級概念

降級(Degradation)降低級別的意思,它是指程序在出現(xiàn)問題時,仍能保證有限功能可用的一種機制。

比如電商交易系統(tǒng)在雙 11 時,使用的人比較多,此時如果開放所有功能,可能會導致系統(tǒng)不可用,所以此時可以開啟降級功能,優(yōu)先保證支付功能可用,而其他非核心功能,如評論、物流、商品介紹等功能可以暫時關閉。

所以,從上述信息可以看出:降級是一種退而求其次的選擇,而熔斷卻是整體不可用。

2.觸發(fā)條件不同

不同框架的熔斷和降級的觸發(fā)條件是不同的,本文咱們以經(jīng)典的 Spring Cloud 組件 Hystrix 為例,來說明觸發(fā)條件的問題。

2.1 Hystrix 熔斷觸發(fā)條件

默認情況 hystrix 如果檢測到 10 秒內(nèi)請求的失敗率超過 50%,就觸發(fā)熔斷機制。之后每隔 5 秒重新嘗試請求微服務,如果微服務不能響應,繼續(xù)走熔斷機制。如果微服務可達,則關閉熔斷機制,恢復正常請求。

圖片

2.2 Hystrix 降級觸發(fā)條件

默認情況下,hystrix 在以下 4 種條件下都會觸發(fā)降級機制:

  1. 方法拋出 HystrixBadRequestException
  2. 方法調(diào)用超時
  3. 熔斷器開啟攔截調(diào)用
  4. 線程池或隊列或信號量已滿

雖然 hystrix 組件的觸發(fā)機制,不能代表所有的熔斷和降級機制,但足矣說明此問題。

3.歸屬關系不同

熔斷時可能會調(diào)用降級機制,而降級時通常不會調(diào)用熔斷機制。因為熔斷是從全局出發(fā),為了保證系統(tǒng)穩(wěn)定性而停用服務,而降級是退而求其次,提供一種保底的解決方案,所以它們的歸屬關系是不同(熔斷 > 降級)。

題外話

當然,某些框架如 Sentinel,它早期在 Dashboard 控制臺中可能叫“降級”,但在新版中新版本又叫“熔斷”,如下圖所示:

圖片

但在兩個版本中都是通過同一個異常類型 DegradeException 來監(jiān)聽的,如下代碼所示:

圖片

所以,在 Sentinel 中,熔斷和降級功能指的都是同一件事,也側(cè)面證明了“熔斷”和“降級”概念的相似性。但我們要知道它們本質(zhì)上是不同的,就像兩個雙胞胎,不能因為他們長得像,就說他們是同一個人。

總結(jié)

熔斷和降級都是程序在我保護的一種機制,但二者在概念、觸發(fā)條件、歸屬關系上都是不同的。熔斷更偏向于全局視角的自我保護(機制),而降級則偏向于具體模塊“退而請其次”的解決方案。

參考 & 鳴謝

??https://blog.csdn.net/BiandanLoveyou/article/details/118067224??

??https://cloud.tencent.com/developer/article/1600700??

作者介紹

磊哥,14 年編程和框架從業(yè)經(jīng)驗,前 360 技術專家、CSDN 簽約作者、阿里云專家博主、拉勾網(wǎng)簽約作者、掘金優(yōu)秀作者、慕課網(wǎng)講師等。期待與你相遇,一起探討和分享技術的樂趣。

責任編輯:武曉燕 來源: Java中文社群
相關推薦

2024-04-03 15:33:04

JWTSession傳輸信息

2024-09-19 08:42:43

2021-12-10 12:01:37

finalfinallyfinalize

2021-11-30 07:44:50

FinalFinallyFinalize

2021-12-13 06:56:45

Comparable元素排序

2024-03-20 15:12:59

KafkaES中間件

2021-12-23 07:11:31

開發(fā)

2023-07-11 08:40:02

IO模型后臺

2023-02-09 07:01:35

轉(zhuǎn)發(fā)重定向Java

2023-12-13 13:31:00

useEffect對象瀏覽器

2023-02-20 07:19:14

2022-05-16 11:04:43

RocketMQPUSH 模式PULL 模式

2024-03-26 16:24:46

分布式事務2PC3PC

2025-03-12 08:45:15

函數(shù)聲明函數(shù)表達式IIFE

2021-12-27 06:57:40

This SuperJava

2021-05-10 08:01:12

BeanFactoryFactoryBean容器

2023-12-05 09:33:08

分布式事務

2024-11-19 08:00:00

2022-08-22 07:06:32

MyBatisSQL占位符

2025-04-09 00:00:55

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 有码一区 | 国产高清一区二区 | 在线一区观看 | 国产精品色 | 射欧美 | 中文字幕一区二区三区乱码图片 | 久久天天综合 | 欧美三级网站 | 国产精品久久久久久久久动漫 | 成人在线精品 | 色婷婷亚洲一区二区三区 | 观看av| 亚洲免费精品 | 亚洲精品一区在线观看 | 精品欧美一区二区三区久久久 | 国产成人精品一区二区三区 | 亚洲aⅴ| 91视频电影 | 亚洲欧美激情精品一区二区 | av手机免费在线观看 | 免费视频久久 | 日韩看片 | 国产精品久久久久久久久久免费看 | 亚洲精品欧美一区二区三区 | 国产福利在线视频 | 午夜电影在线播放 | 成人免费在线播放 | 欧美v日韩 | 精品一区av | 久久一| 无码一区二区三区视频 | 国产99久久 | 一区二区三区在线观看免费视频 | 国产精品美女久久久久久久网站 | 久久亚洲国产精品日日av夜夜 | 国产乱码精品一区二区三区忘忧草 | 欧美精品一区二区三区四区五区 | 国产精品自拍啪啪 | 视频1区2区 | 亚洲精品久久久一区二区三区 | 久久精品中文字幕 |