概述
在微服務架構中,當服務提供者的應用實例出現異常,而服務消費者無法感知時會影響服務的正常調用,并影響消費者的服務性能甚至可用性。離群實例摘除功能會檢測應用實例的可用性并進行動態調整,以保證服務成功調用,從而提升業務的穩定性和服務質量。
查看離群實例摘除策略列表
在左側導航欄,Spring Cloud治理 > 離群實例摘除。查看當前賬號下的離群實例摘除策略。離群實例摘除策略展示了策略名稱、狀態、生效應用、針對框架、異常類型、錯誤下限率、QPS下限、摘除實例比例上限、恢復檢測單位時間、未恢復累計次數上限等信息,如果服務較多,可以通過環境、規則名稱、被調用方進行篩選或搜索。
創建離群實例摘除策略
在離群實例摘除頁面單擊創建離群實例摘除策略。
● 環境:選擇一個環境。
● 策略名稱:離群實例摘除策略名稱,例如 ctyun-remove。
● 被調用服務所用框架: 未恢復累計次數上限。
● 選擇生效應用:選擇生效應用后,該應用的調用的所有應用的異常實例會被摘除。摘除期間,生效應用的調用請求將不再被分發到異常實例。
● 錯誤下限率:當被調用的應用中某個應用實例的錯誤率高于設置的下限后,將摘除該實例。默認值為50%。例如該實例在統計時間窗口內被調用10次,有6次調用失敗,錯誤率為60%,超過了配置的錯誤率下限(50%),則從應用中移除該實例。
● 高級配置:
異常類型:選擇網絡異常+業務異常(HTTP 5xx)。
QPS 下限:QPS按照統計時間窗口進行計算,Spring Cloud應用的統計時間窗口為10秒。當在統計時間窗口(例如10秒)內應用的QPS達到設置的下限后開始進行錯誤率統計分析。
摘除實例比例上限:摘除的異常實例比例上限,即達到閾值后,不再摘除異常實例。摘除異常實例數向下取整,例如應用實例總數為6,摘除實例比例設置為60%,摘除實例比例數為6 x 60% = 3.6,則按策略最多摘除的實例數為3。若計算結果小于1,則不會摘除實例。
恢復檢測單位時間:在異常實例被摘除后,按單位時間線性不斷累加的時間作為檢測間隔,檢測異常實例是否恢復正常,單位為ms。默認為30000ms,即0.5分鐘。
未恢復累計次數上限:持續對異常實例進行檢測,檢測間隔隨檢測次數按恢復檢測單位時間線性增加,當達到設置的檢測次數上限后,會按最長時間間隔持續檢測異常實例是否恢復。例如,恢復檢測單位時間設置30000ms,未恢復累計次數上限設置為20,在第20次檢測異常實例仍未恢復后,則會按10分鐘(20 x 30000 ms)為間隔執行后續的檢測。如果檢測到實例已經恢復,則會將檢測間隔重置為初始的時間間隔,即一次恢復檢測單位時間。