您可以通過故障注入功能向測試應用注入故障,檢測應用面對異常時的處理情況。您可以根據檢測的情況調整您的應用,以減少應用在正式使用時出現的異常問題。多用于測試環境。
功能簡介
故障注入流程如下所示:
在微服務中,其實現方式為:
管控臺 MS 拼接故障注入規則,將其發送到 DRM。
MOSN 和 RPC 客戶端訂閱 DRM 的 Key 值。
配置故障注入規則
登錄 SOFAStack 控制臺。
在左側菜單欄選擇 中間件 > 微服務平臺 > 服務網格 > 服務治理,然后單擊 故障注入 頁簽。
單擊 添加注入組規則,然后配置以下參數:
參數
說明
規則名稱
設置故障注入規則的名稱。
應用
選擇或填寫目標應用的名稱。星號(*)表示所有應用。
注入方向
設置故障注入的方向,可選值為:
服務端注入:在應用的服務端注入故障。
客戶端注入:在應用的客戶端注入故障。
服務
配置注入故障的服務。單擊 切換輸入模式 可在手動填寫與下拉選擇之間切換。
方法
配置故障注入的方法。星號(*)表示所有方法。
運行模式
配置故障注入規則的運行模式,取值如下:
攔截模式:滿足條件的故障注入請求會被注入。
觀察者模式:滿足條件的故障注入請求不會被注入,只會在 MOSN 里打印日志。
故障類型
故障注入支持注入錯誤或者超時等事件,方便服務的異常測試,用于模擬服務異常的情況。取值如下:
中斷異常:注入運行時異常,中斷請求并返回既定的錯誤狀態碼。
超時異常:滿足條件的請求,會增加響應時間,請求正常調用。
超時時間
故障類型為 超時異常 時,設置異常的超時時間。
異常比例
設置注入異常流量的比例。例如設置為 80,則只注入 80% 的異常流量。
流量精確匹配(可選)
設置流量的匹配條件,滿足匹配條件的流量才會使用故障注入規則。置空此項時表示匹配所有流量。
您可以配置多條匹配條件,多個條件是“與”的關系,按順序進行匹配。參數配置如下:
字段:可選擇系統字段和請求頭。
字段名:根據字段類型有不同的值。
系統字段:包括流量類型、調用方應用名、調用方 IP、服務方應用名。
請求頭:請求頭是指協議的請求頭。例如 Dubbo 協議取的是 attachment,HTTP 協議取的是 Request Header。用戶可以在應用系統中自定義請求頭參數和值。
選擇邏輯:包括等于、不等于、屬于、不屬于、正則。
字段值:字段名對應的值。
單擊 提交,然后單擊 確定。
在故障注入規則列表中,將剛剛創建的故障注入規則的狀態改為 開啟。
說明當多條故障注入規則針對同一個服務時,只會生效第一條。
編輯故障注入規則
您可以隨時編輯已創建的故障注入規則,規則提交后實時生效。
在 故障注入 頁簽,單擊目標應用左側的加號(+)。
單擊目標故障注入規則右側的 編輯。
按需求編輯故障注入規則后,單擊 提交。
刪除故障注入規則
您可以刪除已創建的故障注入規則,刪除操作實時生效,請謹慎操作。
在 故障注入 頁簽,單擊目標應用左側的加號(+)。
單擊目標故障注入規則右側的 刪除。
單擊 確定。