設計優雅降級功能

Last reviewed 2024-12-30 UTC

Google Cloud Well-Architected Framework 的可靠性支柱中,這項原則提供相關建議,協助您設計 Google Cloud 工作負載 Google Cloud ,確保工作負載在發生故障時能正常運作。

這項原則與可靠性的回應 焦點區域相關。

原則總覽

系統負載過高時,仍可繼續運作,但效能或準確度可能會降低。即使系統無法以最佳狀態運作,也能確保系統持續可用,避免完全故障。當負載恢復到可管理的水準時,系統就會恢復完整功能。

舉例來說,在負載量較高的期間,Google 搜尋會優先顯示排名較高的網頁結果,可能因此犧牲部分準確度。負載減少時,Google 搜尋會重新計算搜尋結果。

建議

如要設計系統,確保優雅降級,請參考下列小節的建議。

實作節流

請確保備用資源可獨立處理過載狀況,並在高流量情境中節流處理傳入的要求。這種做法有助於避免因區域間的過多流量轉移而導致連鎖故障。

在流量高峰期,請使用 Apigee 等工具控管 API 要求速率。您可以設定政策規則,反映您希望如何縮減要求。

提早捨棄超額要求

設定系統,在前端層捨棄過多的要求,以保護後端元件。捨棄部分要求可避免全域故障,並讓系統更順暢地復原。採用這種做法時,部分使用者可能會遇到錯誤。不過,相較於斷路等做法 (過載時所有流量都會遭到捨棄),您可以盡量減少中斷造成的影響。

處理部分錯誤和重試

建構應用程式,順暢處理部分錯誤並重試。這項設計有助於確保在高負載情境下,盡可能提供最多流量。

測試過載情境

如要驗證節流和要求捨棄機制是否有效運作,請定期模擬系統過載情況。測試有助於確保系統已準備好因應實際流量暴增的情況。

監控流量尖峰

使用分析和監控工具預測及因應流量暴增情形,避免過載。及早偵測及回應有助於在需求量高的期間維持服務可用性。