MSE的熔斷規則可以監控應用內部或者下游依賴的響應時間或異常比例。當達到指定的閾值時,MSE會立即降低下游依賴的優先級。在指定的時間內,系統不會調用該異常資源,避免應用的不穩定運行,從而保障應用高可用性。指定時間過后,系統會重新恢復對該資源的調用。本文介紹如何配置熔斷規則以及規則的配置示例。
前提條件
開通企業版。相關內容,請參見微服務治理升級為企業版。
MSE治理中心已接入微服務應用,相關內容,請參見:
背景信息
除流量控制外,對調用鏈路中不穩定的方法或者下游依賴進行熔斷也是流量防護的重要措施之一。由于調用關系的復雜性,如果調用鏈路中的某一環節出現錯誤,會導致此請求失敗,甚至放大不穩定性,導致整個鏈路無法正常服務。熔斷功能會在調用鏈路中某個方法出現不穩定時(例如某方法出現Timeout或異常比例升高),對這個方法的調用進行限制,讓請求快速失敗,避免此錯誤影響整個鏈路。關于熔斷的相關信息,請參見下圖。
熔斷規則配置通常用于弱依賴降級場景。更多信息,請參見弱依賴降級。
關于配置熔斷規則的場景示例,請參見常用場景1:慢調用熔斷示例、常用場景2:異常熔斷示例。
功能入口
登錄MSE治理中心控制臺,并在頂部菜單欄選擇地域。
在左側導航欄,選擇治理中心 > 應用治理。
在應用列表頁面單擊目標應用的資源卡片,選擇以下任意一種方法新建流控規則。
在左側導航欄,單擊接口詳情,切換至客戶端接口列表。選擇具體接口后,單擊服務熔斷頁簽,然后單擊新增熔斷規則。
在左側導航欄,單擊流量治理。單擊流量防護頁簽,單擊熔斷規則,然后單擊新增熔斷規則。
在新增熔斷防護規則對話框中配置規則信息,然后單擊新增。
詳細的參數說明,請參見下文規則詳情。
規則詳情
新增熔斷防護規則對話框的參數說明如下。
參數 | 描述 |
接口名稱 | 適用該規則的應用資源。 |
統計窗口時長 | 統計的時間窗口長度,取值范圍為1秒~120分鐘。 |
最小請求數目 | 觸發熔斷的最小請求數目,若當前統計窗口內的請求數小于此值,即使達到熔斷條件規則也不會觸發。 |
閾值類型 | 選擇以慢調用比例(%)或異常比例(%)作為閾值。
|
熔斷時長(s) | 即熔斷觸發后持續的時間。資源進入熔斷狀態后,在配置的熔斷時長內,請求都會快速失敗。 |
熔斷恢復策略 | 熔斷器進入恢復階段(半開啟狀態)的恢復策略。
|
常用場景1:慢調用熔斷示例
例如調用第三方服務,但響應時間太慢,會影響當前接口,所以對其進行熔斷操作。
在新增熔斷防護規則對話框中配置以下示例規則信息。
參數 | 示例值 | 描述 |
接口名稱 | test | 接口名稱。 |
統計窗口時長 | 1 | 統計時長為1秒。 |
最小請求數目 | 10 | 觸發熔斷的最小請求數目為10。 |
閾值類型 | 慢調用比例 | 選擇以慢調用比例作為閾值。 |
慢調用RT | 1000 | 超過1000毫秒則判定為慢請求。 |
熔斷比例閾值 | 80% | 觸發熔斷的慢調用比例閾值為80%。 |
熔斷時長(s) | 10 | 熔斷時長有10秒。 |
熔斷恢復策略 | 單次探測恢復 | 經過熔斷時長后,熔斷器會對接下來的一個請求進行探測,若該請求符合預期(不為慢調用或沒有異常),則結束熔斷;否則重新回到熔斷階段。 |
規則開啟后,在統計時長1秒內,當請求數目大于10,并且慢調用的比例大于80%的時候,則在接下來10秒的熔斷時長內,請求都會快速失敗。經過10秒后熔斷器會進入探測恢復狀態,若接下來的一個請求響應時間小于設置的1000 ms則結束熔斷,若大于1000 ms則會再次被熔斷。
常用場景2:異常熔斷示例
例如第三方內容展示時,系統會出現異常,當異常比例較高時,可以對其進行熔斷操作,以保證更好的用戶體驗。
在新增熔斷防護規則對話框中配置以下示例規則信息。
參數 | 示例值 | 描述 |
接口名稱 | test | 接口名稱。 |
統計窗口時長 | 1 | 統計時長為1秒。 |
最小請求數目 | 10 | 觸發熔斷的最小請求數目為10。 |
閾值類型 | 異常比例 | 選擇以異常比例作為閾值。 |
熔斷比例閾值 | 80% | 觸發熔斷的異常比例閾值為80%。 |
熔斷時長(s) | 10 | 熔斷時長有10秒。 |
熔斷恢復策略 | 單次探測恢復 | 經過熔斷時長后,熔斷器會對接下來的一個請求進行探測,若該請求符合預期(不為慢調用或沒有異常),則結束熔斷;否則重新回到熔斷階段。 |
規則開啟后,在統計時長1秒內,當請求數目大于10,并且異常的比例大于80%的時候,則在接下來10秒的熔斷時長內,請求都會快速失敗。經過10秒后熔斷器會進入探測恢復狀態,若接下來的一個請求沒有異常則結束熔斷,否則會再次熔斷。