91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

什么是Hystrix

發布時間:2021-09-10 14:13:38 來源:億速云 閱讀:180 作者:柒染 欄目:大數據

這篇文章將為大家詳細講解有關什么是Hystrix,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

Hystrix協調分布式系統中各個服務高可用的框架,SpringCloud體系重要的一員。Hystrix主要解決了服務雪崩問題、服務監控問題等。

Hystrix功能介紹

資源隔離與限流

作用

  • 主要在于預防依賴服務崩潰影響到自己服務資源被耗光,使用隔離的方式限制調用依賴服務所能使用的最大線程資源。如果一個服務崩潰,不控制好資源隔離的話,會引發服務雪崩,眾多上游服務集體崩潰。

  • 另外在并發量很大的情況下,也可以降低對依賴服務請求的流量,避免依賴服務過度負載。

原理

  • Hystrix將對外部服務的調用和一系列處理封裝為一個Commond對象,具體分為HystrixCommand(直接調用命令),HystrixObservableCommand(觀察者訂閱命令),后者可以注冊回調事件。兩者都可以以異步或同步的方式調用(異步返回Future,后續可以調用get阻塞獲取結果)。

  • Commond對象對資源隔離進行隔離有兩種方式,一種是使用線程池(常用),第二種是使用信號量。兩者都是對Commond被調用的線程并發數量進行限制,區別在于信號量只是對command被調用并發許可的一個線程,不能記錄超時信息等等。

配置項

  • 選擇Commond資源隔離的策略,線程池(常用)或信號量

  • 指定command名稱、組。名稱默認為類名(一個command通常對應一個依賴服務的接口調用),group下的所有command默認情況下共用一個線程池或用一個信號量隔離(group一般對應一個依賴服務)。

  • 指定command線程池,HystrixThreadPool的key默認為組名稱,也可以手動指定使用的HystrixThreadPool。

  • 指定線程池核心線程數大小,默認為10。

  • 指定線程池隊列長度,默認-1 無界隊列,設置值之后超過則拒絕請求。

  • 指定線程池拒絕閥值,默認5,超過就拒絕請求。

  • 信號量隔離下可設置最大并發訪問量,默認10。

requestCache-請求緩存

原理

在一個web調用主線程中,為該主線程調用服務的command建立緩存,使得調用依賴服務相同參數的情況下直接從內存中獲取結果,由于本人認為其作用不是很大,所以就不多介紹了,主要是在攔截器中初始化HytrixRequestContext(這個緩存數據目測應該是在線程本地變量里面),然后Command中實現getCacheKey方法返回cache的key,當key一樣時,直接嘗試獲取之前調用后返回相同key的結果。

fallback-服務降級

原理

通過Command實現getFallBack方法(HystrixCommand)或resumeWithFallback方法(HystrixObservableCommand),實現降級邏輯,本地返回降級之后的結果。

降級的條件

  • 線程池或信號量拒絕

  • 調用超時

  • 執行報錯

  • 斷路器被開啟

降級的通常邏輯

  • 取本地緩存中較老的數據

  • 返回默認值

注:降級邏輯可以設置參數限制并發線程數量(基于信號量)

circuit breaker-斷路器

原理

打開條件
  • 調用超時達到一定比例

  • 執行報錯達到一定比例

  • 線程池或信號量拒絕達到一定比例

半開狀態

一定時間之后會切換到半開狀態,讓1個請求通過,看是否能夠正常返回

開啟狀態

如果半開狀態允許通過的請求成功了,就關閉斷路器

相關可配置項

  • 是否打開斷路器(默認打開)

  • 斷路器時間滾動窗中最小的請求數(默認20)

  • 多少異常(包括超時、報錯、拒絕)比例(默認50%)打開斷路器

  • 多長時間進入半開狀態(默認5000毫秒)

  • 是否強制打開斷路器

  • 是否強制關閉斷路器

  • 超時時長配置(默認1000毫秒)

  • 是否打開超時機制(默認打開)

關于什么是Hystrix就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

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

AI

镇巴县| 旬邑县| 巴彦淖尔市| 长阳| 大港区| 左云县| 侯马市| 清河县| 澄江县| 固始县| 沙洋县| 禄劝| 孟津县| 鹿泉市| 安阳县| 隆昌县| 肇东市| 昌邑市| 玉环县| 理塘县| 沛县| 枞阳县| 独山县| 佛学| 娱乐| 左云县| 宁夏| 中牟县| 兴文县| 武冈市| 沂源县| 沭阳县| 绥中县| 东乌珠穆沁旗| 绵阳市| 武陟县| 吉安市| 新和县| 宁陵县| 新营市| 汤阴县|