设计以实现平滑降级

Last reviewed 2024-12-30 UTC

Google Cloud 架构完善框架的可靠性支柱中的这一原则提供了一些建议,可帮助您设计 Google Cloud 工作负载,使其能够优雅地处理故障。

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

原则概览

优雅降级是一种设计方法,即当系统遇到高负载时,仍能继续运行,但性能或准确性可能会降低。即使系统的工作不是最佳状态,平稳降级也能确保系统持续可用,并防止系统完全故障。当负载恢复到可管理水平时,系统会恢复全部功能。

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

建议

如需设计可实现优雅降级的系统,请考虑以下各小节中的建议。

实现节流

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

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

尽早舍弃多余的请求

配置系统以在前端层舍弃过多的请求,从而保护后端组件。舍弃部分请求可防止出现全局故障,并使系统能够更顺利地恢复。采用此方法后,部分用户可能会遇到错误。不过,与断路等方法(在过载期间会丢弃所有流量)相比,您可以最大限度地减少中断的影响。

处理部分错误和重试

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

测试过载场景

为了验证节流和请求丢弃机制是否有效,请定期在系统中模拟过载情况。测试有助于确保您的系统能够应对实际流量高峰。

监控流量高峰

使用分析和监控工具预测并应对流量高峰,以免高峰演变成过载。及早检测和响应有助于在高需求期间保持服务可用性。