Google Cloud Well-Architected Framework 的可靠性支柱中,這項原則提供相關建議,協助您設計 Google Cloud 工作負載,確保工作負載在發生故障時能正常運作。
這項原則與可靠性的回應 焦點區域相關。
原則總覽
系統在負載過高時,仍可繼續運作,但效能或準確度可能會降低。即使系統無法以最佳狀態運作,優雅降級也能確保系統持續可用,並防止完全故障。當負載恢復到可管理的水準時,系統就會恢復完整功能。
舉例來說,在負載量較高的期間,Google 搜尋會優先顯示排名較高的網頁結果,可能因此犧牲部分準確度。負載減少時,Google 搜尋會重新計算搜尋結果。
建議
如要設計可優雅降級的系統,請參考下列小節的建議。
實作節流
請確保備用資源可獨立處理過載狀況,並在高流量情境中節流處理傳入的要求。這種做法有助於避免因區域間的過多流量轉移而導致連鎖故障。
在流量高峰期,使用 Apigee 等工具控管 API 要求速率。您可以設定政策規則,反映您希望如何縮減要求。
提早捨棄過多的要求
設定系統,在前端層捨棄過多的要求,以保護後端元件。捨棄部分要求可避免全域故障,並讓系統更順暢地復原。採用這種做法時,部分使用者可能會遇到錯誤。不過,您可以盡量減少中斷造成的影響,這與斷路等做法不同,後者會在過載期間捨棄所有流量。
處理部分錯誤和重試
建構應用程式,順暢處理部分錯誤並重試。這項設計有助於確保在高負載情境下,盡可能提供最多流量。
測試過載情況
如要驗證節流和要求捨棄機制是否有效運作,請定期模擬系統過載情況。測試有助於確保系統已準備好因應實際流量暴增的情況。
監控流量尖峰
使用分析和監控工具預測及因應流量暴增情形,避免過載。及早偵測及回應有助於在需求量高的期間維持服務可用性。