當監控的Web資源或RPC資源由於達到預設的流控閾值、觸發熔斷機制或者執行降級規則時,Fallback行為將被啟用以提供備選處理邏輯。對於Web資源,通常會配置一個備用控制器或處理器來返回友好的提示資訊,或者執行其他替代操作,而不是直接拋出異常或響應錯誤狀態代碼。而對於RPC資源,Fallback行為則表現為調用本地的回退方法代替遠程服務調用,防止因遠程服務不可用而導致整個調用鏈路中斷。
前提條件
開通企業版。
MSE治理中心已接入微服務應用,相關內容,請參見:
新增行為
登入MSE治理中心控制台,並在頂部功能表列選擇地區。
在左側導覽列,選擇治理中心 > 应用治理。
在应用列表頁面,單擊目標應用的資源卡片,然後在左側導覽列單擊流量治理。
在流量治理頁面,單擊流量防护頁簽,然後單擊行为管理頁簽。
單擊新增行为,在新增行为對話方塊中選擇資源類型並完成對應配置,然後單擊新建。
Web資源
參數
描述
樣本值
行为名称
該行為的名稱。長度不超過128個字元,同一個應用內名稱不能重複。
測試行為
针对的资源类型
選擇為Web類型。
Web
Web 限流处理策略
定義Web介面訪問觸發某種規則後的行為表現。自訂返回:需設定HTTP返回狀態代碼、返回內容的格式和返回的內容。表示Web介面訪問觸發規則後返回自訂的內容。
自訂返回
HTTP 返回状态码
預設為429。當Web限流處理策略為自訂返回時,需要填寫。
429
返回 content-type
設定返回內容的格式為普通文本或JSON。
JSON字串
HTTP 返回文本
輸入當Web介面訪問觸發規則後返回的內容。當Web限流處理策略為自訂返回時,需要填寫。
{"message": "blocked oops"}
RPC資源
參數
描述
樣本值
行为名称
該行為的名稱。長度不超過128個字元,同一個應用內名稱不能重複。
測試行為
针对的资源类型
選擇為Rpc類型。
說明Apache Dubbo2.7.0到2.7.3版本不支援自訂行為,這些版本限流返回的是
java.lang.RuntimeException,內容包含SentinelBlockedException及限流資訊。Rpc
Rpc 限流處理策略
定義Rpc介面訪問觸發某種規則後的行為表現。
自訂返回:自訂返回結果。需設定HTTP返回狀態代碼、返回內容的格式和返回的內容。表示Rpc介面訪問觸發規則後返回自訂的內容。
自訂異常:拋出自訂異常。需設定異常的類名和異常文本,表示Rpc介面訪問觸發規則後系統會返回指定的異常資訊。
自訂返回/自訂異常
Rpc 限流處理策略為自訂返回
自訂返回類名
填寫類名稱路徑。
說明自訂返回目前不支援物件類型中包含未確定類型的泛型,如Map<K, V>、List<T>等。
com.alibaba.demo.OrderService:getOrder(long)
自訂返回內容(JSON 格式)
填寫當Rpc介面訪問觸發規則時返回結果的對象內容。
{"id": "123", "name": "test"}
Rpc 限流處理策略為自訂異常
異常類名
填寫異常類名稱路徑。
java.lang.RuntimeException
異常資訊文本
填寫Rpc介面訪問觸發規則後拋出自訂異常的文本資訊。
"Operation failed"
新增的行為會顯示在行为管理頁面中。
修改或刪除行為
登入MSE治理中心控制台,並在頂部功能表列選擇地區。
在左側導覽列,選擇治理中心 > 应用治理。
在应用列表頁面,單擊目標應用的資源卡片,然後在左側導覽列單擊流量治理。
在流量治理頁面,單擊流量防护頁簽,然後單擊行为管理頁簽。
您可以單擊目標行為對應操作列下的修改或删除,完成修改或刪除行為。
關聯線為
在配置各類控制規則時,都可以關聯對應的行為,本文以流控規則為例關聯目標行為。
登入MSE治理中心控制台,並在頂部功能表列選擇地區。
在左側導覽列,選擇治理中心 > 应用治理。
在应用列表頁面,單擊目標應用的資源卡片,然後在左側導覽列單擊流量治理。
在流量治理頁面,單擊流量防护頁簽,然後單擊接口流控頁簽。
在接口流控頁簽下單擊新增流控规则。
在新增流控防護規則對話方塊中完成配置。完成选择防护场景和配置防护规则後,在配置防護行為地區,完成下列設定。
在选择防护场景步驟,選擇接口类型為WEB服務或RPC服務,然後選擇流量類型、介面名稱及防護類型。
在配置防护规则步驟,設定單機QPS閾值並選擇流控效果。
在配置防護行為步驟,選擇关联行为下拉式清單中的目標行為進行關聯,或單擊新增行为來建立新的行為進行關聯。
說明如果您不需要自訂限流後的Fallback行為,則選擇預設行為即可,預設介面類型為空白。
新增規則時,若當前介面已有綁定行為,後續若綁定新的行為則會覆蓋介面下已有行為。
選擇Fallback行為時,若不選擇介面類型,則綁定預設行為;選擇介面類型並綁定相應類型行為後,行為類型不可修改,但行為可以修改。
對於 Feign 架構其自身的 Fallback 機制生效,自訂行為不生效。
單擊新增。