优雅降级是指当依赖项失败时,系统保持核心流程继续工作,通过提供减少的或部分的体验,而不是返回错误。目标是软失败,而不是硬失败:一个降级的页面胜过 500 错误。
优雅降级是指当依赖项失败时,系统保持核心流程继续工作,通过提供减少的或部分的体验,而不是返回错误。目标是软失败,而不是硬失败:一个降级的页面胜过 500 错误。
BAD (fail hard):
search() → backend timeout → throw → user sees HTTP 500 (whole page dead)
GOOD (fail soft):
result = search()
catch timeout → return cached_results OR empty + notice
page renders:
[ "Showing recent results — live search is temporarily unavailable." ]
+ cached listings, working nav, working checkout
→ user keeps browsing; core flow intact
用户不会看到死页面,而是获得缓存的结果和一个小提示,同时导航和结账继续工作。故障被限制在一个功能内。
依赖项必然会失败 — 第三方 API、搜索集群、推荐服务。没有优雅降级,任何一个故障都会级联为完全宕机。设计为软失败(缓存/部分/默认数据)、关闭非关键路径、通过回退进行超时,以及用隔离舱隔离故障 — 这样可以在部分故障期间保持产品可用 — 这是小故障和重大事故之间的区别。