Google Cloud Well-Architected Framework 可靠性核心中的这一原则提供了相关建议,可帮助您设计 Google Cloud 工作负载,使其能够正常故障切换。
此原则与可靠性的响应重点领域相关。
原则概览
优雅降级是一种设计方法,其中系统在高负载下仍能继续运行,但性能或准确性可能会降低。即使系统的工作状态不理想,优雅降级也能确保系统持续可用并防止系统完全故障。当负载恢复到可管理的水平时,系统会恢复完整功能。
例如,在高负载期间,Google 搜索会优先显示排名较高的网页中的结果,这可能会牺牲一些准确性。当负载减少时,Search 会重新计算搜索结果。
建议
如需设计系统以实现优雅降级,请考虑以下各小节中的建议。
实施限制
确保您的副本可以独立处理过载,并可以在高流量场景中限制传入请求。此方法可帮助您防止因可用区之间的多余流量转移而导致的级联故障。
使用 Apigee 等工具控制高流量时段的 API 请求速率。您可以配置政策规则,以反映您希望如何缩减请求。
尽早丢弃多余请求
将系统配置为在前端层丢弃多余的请求,以保护后端组件。丢弃部分请求可防止全局故障,并使系统能够更平稳地恢复。采用这种方法,部分用户可能会遇到错误。不过,与断路(在过载期间丢弃所有流量)等方法相比,您可以最大限度地减少服务中断的影响。
处理部分错误和重试
构建应用,以无缝处理部分错误和重试。这种设计有助于确保在高负载场景中尽可能多地处理流量。
测试过载场景
为了验证限制和请求丢弃机制是否有效,请定期模拟系统中的过载情况。测试有助于确保您的系统已准备好应对实际流量激增。
监控流量高峰
使用分析和监控工具预测流量激增并做出响应,以免流量激增演变为过载。及早检测和响应有助于在需求高峰期维持服务可用性。