用途:通过级联回退策略实现优雅降级。当最优方案失败或超时时,系统自动回退到更简单、更可靠的替代方案,同时保持可接受的功能。
适用场景:外部服务依赖(API、数据库);对时间敏感且可接受降级模式的操作;部分结果优于无结果的操作;高可用要求(系统必须始终响应);等待完美方案不如够用方案的场景。不适用于:要求精确正确性的操作、安全关键操作(认证、授权)、金融交易、失败必须暴露给用户的诊断操作、无有意义回退的简单操作。
主要能力:
- 三级级联结构。PRIMARY(最优):最佳结果,可能依赖外部服务、较慢或资源密集、可能失败或超时;SECONDARY(可接受):质量降低但可用,比主级更可靠、更快或依赖更少;TERTIARY(保证):始终成功、无外部依赖、快速可靠、最小但可用,必须设计为永不失败。
- 超时策略:aggressive(5s/2s/1s)、balanced(30s/10s/5s,默认)、patient(120s/30s/10s)、custom。
- 回退类型:service(外部 API→缓存数据→静态默认值)、quality(全面→标准→最小分析)、freshness(实时→近期→历史数据)、completeness(完整数据集→样本→摘要)、accuracy(精确→近似→估算)。
- 降级通知:silent(仅日志)、warning(告知用户)、explicit(详细说明降级内容与原因)。
使用方式:定义级联层级并设置各级超时;依次尝试主级、次级、三级;记录降级路径与指标;用分析代理审查指标并持续优化超时与回退方案。
限制:用户可能收到降级响应;三级必须永不失败,否则视为安全违规;需根据成功率调整超时(如主级成功率低于 50% 说明超时过激,次级使用超过 40% 说明应互换主次)。