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