REL05-BP07 實作緊急控制桿
緊急控制桿是可緩解工作負載所受之可用性影響的快速程序。
緊急控制桿的運作方法是使用已知且經過測試的機制來停用、限流或變更元件或相依性的行為。這可以減輕因需求意外增加導致資源耗盡所造成的工作負載受損,並降低工作負載內非關鍵元件的故障影響。
預期成果:透過實作緊急控制桿,您可以建立已知良好的程序,以維持工作負載中關鍵元件的可用性。在啟用緊急控制桿期間,工作負載應該會適度降級,並繼續執行其業務關鍵功能。如需適度降級的詳細資訊,請參閱 REL05-BP01 實作適度降級,以將適用的硬相依性轉換為軟相依性。
常見的反模式:
-
非關鍵相依性失敗會影響核心工作負載的可用性。
-
未在非關鍵元件受損期間測試或驗證關鍵元件的行為。
-
沒有為啟用或停用緊急控制桿定義明確且決定性的準則。
建立此最佳實務的優勢:實作緊急控制桿可以藉由為解析器提供已建立的程序來回應意外的需求突增或非關鍵相依性的失敗,以改善工作負載中關鍵元件的可用性。
未建立此最佳實務時的風險暴露等級:中
實作指引
-
識別工作負載中的關鍵元件。
-
設計和建構工作負載中的關鍵元件,以承受非關鍵元件的故障。
-
進行測試以驗證非關鍵元件失敗期間您關鍵元件的行為。
-
定義和監控相關指標或觸發器以啟動緊急控制桿程序。
-
定義構成緊急控制桿的程序 (手動或自動)。
實作步驟
-
識別工作負載中的業務關鍵元件。
-
工作負載中的每個技術元件應對應到其相關業務功能,並將其排名為關鍵或非關鍵。如需 Amazon 的關鍵和非關鍵功能範例,請參閱任何一天都可以是 Prime Day:Amazon.com 搜尋如何使用混沌工程處理每秒超過 84000 個請求
。 -
這同時是技術和業務方面的決策,並且會因組織和工作負載而異。
-
-
設計和建構工作負載中的關鍵元件,以承受非關鍵元件的故障。
-
在相依性分析期間,請考慮所有潛在的故障模式,並驗證您的緊急控制桿機制能為下游元件提供關鍵功能。
-
-
進行測試以驗證緊急控制桿啟動期間您關鍵元件的行為。
-
避免雙模態行為。如需詳細資訊,請參閱 REL11-BP05 使用靜態穩定性來防止雙模態行為。
-
-
定義、監控和警示相關指標,以啟動緊急控制桿程序。
-
尋找適合監控的指標取決於您的工作負載。一些範例指標是延遲或失敗的相依性請求次數。
-
-
定義構成緊急控制桿的程序 (手動或自動)。
資源
相關的最佳實務:
相關文件:
相關影片: