设计以实现平滑降级

Last reviewed 2024-12-30 UTC

Google Cloud 架构框架可靠性支柱中的这一原则提供了建议,可帮助您设计 Google Cloud 工作负载,以便其能够妥善失败。

此原则与可靠性的响应 重点领域相关。

原则概览

适当降级是一种设计方法,它可让承受高负载的系统继续运行,但性能或准确性可能会降低。平滑降级可确保系统持续可用,并防止系统完全失败,即使系统的工作效率不佳也是如此。当负载恢复到可管理的水平时,系统会恢复所有功能。

例如,在高负载期间,Google 搜索会优先显示排名较高的网页的搜索结果,这可能会导致搜索结果的准确性有所降低。当负载减少时,Google 搜索会重新计算搜索结果。

建议

如需设计能够进行平滑降级的系统,请考虑以下各小节中的建议。

实现节流

确保您的副本可以独立处理过载,并能够在高流量场景中节流传入请求。这种方法有助于防止因可用区之间过多流量的转移而导致的级联故障。

使用 Apigee 等工具在高流量时期控制 API 请求速率。您可以配置政策规则,以反映您希望如何缩减请求。

尽早丢弃多余请求

将系统配置为在前端层丢弃多余的请求,以保护后端组件。丢弃某些请求可防止全局失败,并使系统能够更妥善地恢复。采用这种方法时,部分用户可能会遇到错误。不过,您可以最大限度地减少服务中断的影响,这与断路等方法不同,后者会在过载期间丢弃所有流量。

处理部分错误和重试

构建应用以无缝处理部分错误和重试。这种设计有助于确保在高负载场景中尽可能处理尽可能多的流量。

测试过载场景

为了验证节流和请求丢弃机制是否有效,请定期在系统中模拟过载情况。测试有助于确保您的系统为实际流量激增做好准备。

监控流量高峰

使用分析和监控工具预测流量激增并在其演变为过载之前做出响应。及早检测和响应有助于在高需求期间保持服务可用性。