什麼是服務的熔斷降級

2021-09-11 11:38:55 字數 853 閱讀 9647

很多同學知道我在美團點評負責穩定性保障平台的研發,平台中的功能之一就有服務的熔斷降級,提起熔斷降級,大家可能熟悉的是netflix的開源元件hystrix,但是我們並沒有在它的基礎上進行二次開發,而是重新擼了乙個,可能有人說,重複造輪子不是浪費時間嗎?那如果造出的輪子更好用、跑的更快呢,所以不要怕造輪子,只有不斷的創新,才有不斷的進步。

首先看看為什麼需要熔斷降級呢?

服務的穩定是公司可持續發展的重要基石,隨著業務量的快速發展,一些平時正常執行的服務,會出現各種突發狀況,而且在分布式系統中,每個服務本身又存在很多不可控的因素,比如執行緒池處理緩慢,導致請求超時,資源不足,導致請求被拒絕,又甚至直接服務不可用、宕機、資料庫掛了、快取掛了、訊息系統掛了...

對於一些非核心服務,如果出現大量的異常,可以通過技術手段,對服務進行降級並提供有損服務,保證服務的柔性可用,避免引起雪崩效應。

如果servicea呼叫serviced一直失敗,或者失敗率很高,就可以採用「一種機制」確保後續請求不會呼叫serviced,而是執行降級邏輯。

這裡的這個機制就是熔斷降級,熔斷降級的實現原理也很簡單,看下面這個圖:

1、實時監控介面的健康值,在達到熔斷條件時,自動開啟熔斷 2、開啟熔斷之後,如何實現自動恢復?每隔一段時間,釋放乙個請求到服務端進行探測,如果後端服務已經恢復,則自動恢復

當然了,具體實現,這裡就不細講了。

這裡說下,為什麼沒用使用hystrix進行二次開發,主要是有下面幾點考慮: 1、內建的引數配置無法動態修改 2、複雜的**設計,擴充套件新功能難度大 3、業務接入負責,方式不夠人性化 4、壓測時效能,令人擔憂

通過自研,可以自由把控任何細節,和內部框架無縫整合。

給自己的星球做個廣告,期待你的加入

雖然是付費,但絕對物超所值

服務降級和服務熔斷的區別 什麼是服務的熔斷降級?

很多同學知道我在美團點評負責穩定性保障平台的研發,平台中的功能之一就有服務的熔斷降級,提起熔斷降級,大家可能熟悉的是netflix的開源元件hystrix,但是我們並沒有在它的基礎上進行二次開發,而是重新擼了乙個,可能有人說,重複造輪子不是浪費時間嗎?那如果造出的輪子更好用 跑的更快呢,所以不要怕造...

服務熔斷 服務降級

當某個微服務不可用或者響應時間太長時,會進行服務的降級,進而熔斷該節點微服務的呼叫,快速返回錯誤的響應資訊。當檢測到該節點微服務呼叫響應正常後,恢復呼叫鏈路。當伺服器壓力劇增的情況下,根據實際業務情況及流量,對一些服務和頁面有策略的不處理或換種簡單的方式處理,從而釋放伺服器資源以保證核心交易正常運作...

什麼是服務熔斷

自 漫畫 什麼是服務熔斷 什麼是服務熔斷?熔斷這一概念 於電子工程中的斷路器 circuit breaker 在網際網路系統中,當下游服務因訪問壓力過大而響應變慢或失敗,上游服務為了保護系統整體的可用性,可以暫時切斷對下游服務的呼叫。這種犧牲區域性,保全整體的措施就叫做熔斷。如果不採取熔斷措施,我們...