服務治理:高可用的三大利器熔斷、限流、降級

在我們進行系統設計時,必須要考慮系統的高性能、高併發、高可用。本文分享的是關於高可用的三大利器:熔斷、限流、降級,我們使用通俗、易懂的語句將三個概念講清楚。

一、熔斷

在服務的依賴調用中,被調用方出現故障時,出於自我保護的目的,調用方會主動停止調用,並根據業務需要進行相應處理。調用方這種主動停止調用的行爲我們稱之爲熔斷。
在這裏插入圖片描述
爲什麼要熔斷
假定服務A依賴服務B,當服務B處於正常狀態,整個調用是健康的,服務A可以得到服務B的正常響應。當服務B出現故障時,比如響應緩慢或者響應超時,如果服務A繼續請求服務B,那麼服務A的響應時間也會增加,進而導致服務A響應緩慢。如果服務A不進行熔斷處理,服務B的故障會傳導至服務A,最終導致服務A也不可用。

二、限流

限流是針對服務請求數量的一種自我保護機制,當請求數量超出服務的處理能力時,會自動丟棄新來的請求。
在這裏插入圖片描述
爲什麼要限流
任何一個系統的處理能力都是有極限的,假定服務A的處理能力爲QPS=100,當QPS<100時服務A可以提供正常的服務。當QPS>100時,由於請求量增大,會出現爭搶服務資源的情況(數據庫連接、CPU、內存等),導致服務A處理緩慢;當QPS繼續增大時,可能會造成服務A響應更加緩慢甚至奔潰。如果不進行限流控制,服務A始終會面臨着被大流量衝擊的風險。做好系統請求流量的評估,制定合理的限流策略,是我們進行系統高可用保護的第一步。

三、降級

降級是通過開關配置將某些不重要的業務功能屏蔽掉,以提高服務處理能力。在大促場景中經常會對某些服務進行降級處理,大促結束之後再進行復原。
在這裏插入圖片描述
爲什麼要降級
在不影響業務核心鏈路的情況下,屏蔽某些不重要的業務功能,可以節省系統的處理時間,提供系統的響應能力,在服務器資源固定的前提下處理更多的請求。

相關文章:聊聊系統的強弱依賴

本文通過通俗、易懂的語言描述了熔斷、限流、降級的概念,後續會逐步分享更多關於服務治理方面的內容。文章內容僅代表個人觀點,如有不正之處,歡迎批評指正,謝謝大家。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章