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秒後熔斷器會進入探測恢複狀態,若接下來的一個請求沒有異常則結束熔斷,否則會再次熔斷。