漫畫:什麼是服務熔斷?

這裏須要解釋兩點:

  1. 開啓熔斷
    在固定時間窗口內,接口調用超時比率達到一個閾值,會開啓熔斷。進入熔斷狀態後,後續對該服務接口的調用再也不通過網絡,直接執行本地的默認方法,達到服務降級的效果。
  2. 熔斷恢復
    熔斷不多是永久的。當通過了規定時間以後,服務將從熔斷狀態回覆過來,再次接受調用方的遠程調用。

對於熔斷機制的實現,Hystrix設計了三種狀態:

  1. 熔斷關閉狀態(Closed)
    服務沒有故障時,熔斷器所處的狀態,對調用方的調用不作任何限制。
  2. 熔斷開啓狀態(Open)
    在固定時間窗口內(Hystrix默認是10秒),接口調用出錯比率達到一個閾值(Hystrix默認爲50%),會進入熔斷開啓狀態。進入熔斷狀態後,後續對該服務接口的調用再也不通過網絡,直接執行本地的fallback方法。
  3. 半熔斷狀態(Half-Open)
    在進入熔斷開啓狀態一段時間以後(Hystrix默認是5秒),熔斷器會進入半熔斷狀態。所謂半熔斷就是嘗試恢復服務調用,容許有限的流量調用該服務,並監控調用成功率。若是成功率達到預期,則說明服務已恢復,進入熔斷關閉狀態;若是成功率仍舊很低,則從新進入熔斷關閉狀態。

====================
做者:程序員小灰
連接:http://www.javashuo.com/article/p-hjpgrnku-dn.html
來源:掘金
著做權歸做者全部。商業轉載請聯繫做者得到受權,非商業轉載請註明出處。程序員

相關文章
相關標籤/搜索