日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

hystrix断路器引发的相关概念

發布時間:2023/12/10 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hystrix断路器引发的相关概念 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 分布式系統面臨的問題

  • 服務雪崩
    多個微服務之間調用的時候,假設微服務A調用微服務B和微服務C,微服務B和微服務C又調用其它的微服務,這就是所謂的"扇出”,如果扇出的鏈路上某個微服務的調用響應時間過長或者不可用,對微服務A的調用就會占用越來越多的系統資源,進而引起系統崩潰,所謂的“雪崩效應”,對于高流量的應用來說,單一 的后端依賴可能會導致所有服務器上的所有資源都在幾秒鐘內飽和。比失敗更糟糕的是,這些應用程序還可能導致服務之間的延遲增加,備份隊列,線程和其他系統資源緊張,導致整個系統發生更多的級聯故障。這些都表示需要對故障和延遲進行隔離和管理,以便單個依賴關系的失敗,不能取消整個應用程序或系統。所以, 通常當你發現一個模塊下的某個實例失敗后,這時候這個模塊依然還會接收流量,然后這個有問題的模塊還調用了其他的模塊,這樣就會發生級聯故障,或者叫雪崩。
  • 2 什么是hystrix

    Hystrix是一個用于處理分布式系統的延遲和容錯的開源庫, 在分布式系統里,許多依賴不可避免的會調用失敗,比如超時、異常等,
    Hystrix能夠保證在一個依賴出問題的情況下, 不會導致整體服務失敗,避免級聯故障,以提高分布式系統的彈性。
    “斷路器”本身是一種開關裝置,當某個服務單元發生故障之后,通過斷路器的故障監控(類似熔斷保險絲) , 向調用方返回一個符合
    預期的、可處理的備選響應(FallBack)
    而不是長時間的等待或者拋出調用方無法處理的異常,這樣就保證了服務調用方的線程不會
    被長時間、不必要地占用,從而避免了故障在分布式系統中的蔓延,乃至雪崩。

    可以干嘛
    https://github.com/Netflix/Hystrix/wiki/How-To-Use

    1. 服務降級 2. 服務熔斷 3. 實時監控

    3 服務降級,熔斷,限流的區別

    服務降級
    服務器忙,請稍候再試,不讓客戶端等待并立刻返回一個友好提示,fallback

    哪些情況會觸發降級:

    • 超時
    • 異常
    • 宕機
    • 服務熔斷
    • 線程池/信號量打滿

    服務熔斷
    保險絲關閉,斷開,半開.

    類比保險絲達到最大服務訪問后,直接拒絕訪問,拉閘限電, 然后調用服務降級的方法并返回友好提示服務的降級->進而熔斷->恢復調用鏈路

    斷路器在什么情況下開始起作用

    涉及到斷路器的三個重要參數:快照時間窗、請求總數閥值、錯誤百分比閥值。
    1:快照時間窗:斷路器確定是否打開需要統計一 些請求和錯誤數據,而統計的時間范圍就是快照時間窗,默認為最近的10秒。
    2: 請求總數閥值:在快照時間窗內,必須滿足請求總數閥值才有資格熔斷。默認為20,意味著在10秒內,如果該hystrix命令的調用次數不足20次,
    即使所有的請求都超時或其他原因失敗,斷路器都不會打開。
    3:錯誤百分比閥值:當請求總數在快照時間窗內超過了閥值,比如發生了30次調用,如果在這30次調用中,有15次發生了超時異常,也就是超過
    50%的錯誤百分比,在默認設定50%閥值情況下,這時候就會將斷路器打開。


    斷路器開啟或者關閉的條件

    1. 當滿足一定閥值的時候(默認10秒內超過20個請求次數) 2. 當失敗率達到一定的時候(默認10秒內超過50%請求失敗) 3. 到達以上閥值,斷路器將會開啟 4. 當開啟的時候,所有請求都不會進行轉發 5. 一段時間之后(默認是5秒),這個時候斷路器是半開狀態,會讓其中一個請求進行轉發。如果成功,斷路器會關閉,若失敗,繼續開啟。重復4和5

    斷路器打開后

    1:再有請求調用的時候,將不會調用主邏輯,而是直接調用降級fallback.通過斷路器,實現了自動地發現錯誤并將降級邏輯切換為主邏輯,減少響 應延遲的效果。 2:原來的主邏輯要如何恢復呢? 對于這- -問題,hystrix也為我們實現了 自動恢復功能。 當斷路器打開,對主邏輯進行熔斷之后, hystrix會啟動一個休眠時間窗,在這個時間窗內, 降級邏輯是臨時的成為主邏輯,當休眠時間窗到期,斷路器將進入半開狀態, 釋放一次請求到原來的主邏輯上,如果此次請求正常返回, 那么斷路器將繼續閉合, 主邏輯恢復,如果這次請求依然有問題, 斷路器繼續進入打開狀態,休眠時間窗重新計時。

    服務限流

    秒殺高并發等操作,嚴禁一窩蜂的過來擁擠,大家排隊,一秒鐘N個,有序進行

    hystrix dashboard

    除了隔離依賴服務的調用以外,Hystrix還提供 了準實時的調用監控(Hystrix Dashboard),Hystrix會持續地記錄所有通過Hystrix發 起的請求的執行信息,擬統計報表和圖形的形式展示給用戶,包括每秒執行多少請求多少成功,多少失敗等。Netflix通過 hystrix-metrics-event-stream項目實現了對以上指標的監控。 Spring Cloud也提供了Hystrix Dashboard的整合,對監控內容轉化成 可視化界面。

    總結

    以上是生活随笔為你收集整理的hystrix断路器引发的相关概念的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。