隔離規則通過控制介面或依賴的並發線程數,來保證系統的穩定性。通常適用於應用內部或下遊依賴出現不穩定的情境,例如慢SQL、下遊應用回應時間變長等。本文介紹如何配置和管理隔離規則。
前提條件
開通企業版。
MSE治理中心已接入微服務應用,相關內容,請參見:
背景資訊
當強依賴的方法或介面不穩定的時候,可以通過配置並發線程數來限制不穩定的強依賴並發數,起到隔離異常的效果。若運行該請求的回應時間變長,會導致線程的並發數增大。當並發數超過閾值以後,MSE將拒絕多餘的請求,直到堆積的任務完成,並發線程數減少,從而達到隔離異常、減小不穩定性的效果。
如何設定並發線程數閾值,可參見以下內容:
並發線程數 = 期望QPS*回應時間+冗餘量。
例如預期的SQL執行時間為20毫秒,預期該請求每秒有20個,並發最大時為6個,建議並發線程數按照以下邏輯設定:Max(20/1000*20,6)= 6 ,再加上冗餘量2 ,則建議並發數閾值設定為8。
設定好後,當這個SQL發生死結或者有效能問題,SQL運行特別慢成為慢SQL時,即使請求不斷地進來,也僅僅會佔用8個線程,不會因為持續進來的請求(請求也無法在短時間內退出)而耗光進程的活躍線程。
當這個SQL恢複正常後,並發數會迅速減少。當並發數減少至低於預設的閾值時,系統就不會拒絕請求,應用的處理能力也快速的恢複。通過這樣的方式,起到了根據回應時間自動調節的效果,隔離了不穩定的應用。
隔離規則配置通常用於強依賴隔離情境。
功能入口
登入MSE治理中心控制台,並在頂部功能表列選擇地區。
在左側導覽列,選擇治理中心 > 应用治理。
在应用列表頁面,單擊目標應用的資源卡片。
進入應用之後,選擇以下任意一種方法建立隔離規則:
在左側導覽列,單擊应用概览,然後單擊通过QPS TOP頁簽,單擊對應介面的操作列下的隔离。
在左側導覽列,單擊接口详情。單擊并发隔离頁簽,然後單擊新增隔离规则。
在左側導覽列,單擊流量治理。單擊流量防护頁簽,再單擊并发隔离頁簽,然後單擊新增隔离规则。
在新增隔离防护规则或新增规则對話方塊中配置規則資訊,然後單擊新增。
說明參數說明具體詳見更多資訊。
常用樣本:保障自身資源充足
當運行該請求的回應時間變長,會導致線程的並發數變大。當並發數超過閾值以後,MSE將拒絕多餘的請求,直到堆積的任務完成,並發線程數變少。達到將異常隔離,減小不穩定性的效果。例如某個SQL執行時間為20毫秒,預期該請求每秒有20個。
在新增隔离防护规则或新增规则對話方塊中配置以下規則資訊:
填寫接口名称。
并发数阈值為10。
設定完成後,當這個SQL發生死結或者存在效能問題時,該SQL運行變慢,成為慢SQL,此時即使請求不斷進來,也僅僅會佔用10個線程,不會因為持續進來的請求(請求也無法在短時間內退出),從而耗光進程的活躍線程。當這個SQL恢複正常後,並發數會迅速減少。當並發數減少至低於預設的閾值時,系統就不會拒絕請求,應用的處理能力也快速的恢複。通過這樣的方式,起到了根據回應時間自動調節的效果,隔離了不穩定的應用。
更多資訊
新增隔离防护规则或新增规则對話方塊配置項解釋如下:
配置項 | 描述 |
接口名称 | 待隔離的資源名稱。 |
并发数阈值 | 資源的並發線程數(即該資源正在執行的線程數)閾值。 |