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