NOTE

3.11 如何设计降级系统

1. 降级是什么 - 降级是一种兜底方案,在 系统出故障后 尽力而为的措施 - 相比起限流、熔断偏向技术,这个偏向业务层面 2. 什么时候需要降级 - 压测了解系统QPS,当实际QPS大于系统QPS时需要降级 3. 对什么进行降级 - 核心链路还是非核心链路,降级之后的影响 4. 怎么降级 4.1.

系统设计创建于 更新于 约 1 分钟读完historical

这是历史学习笔记,可能存在过时或不完整的理解。

1. 降级是什么

  • 降级是一种兜底方案,在系统出故障后尽力而为的措施
  • 相比起限流、熔断偏向技术,这个偏向业务层面

2. 什么时候需要降级

  • 压测了解系统QPS,当实际QPS大于系统QPS时需要降级

3. 对什么进行降级

  • 核心链路还是非核心链路,降级之后的影响

4. 怎么降级

4.1. 停止次要的功能

  • 通过开关把一些不重要的服务给停掉或者将功能状态在不同版本之间进行切换,把 CPU、内存或是数据的资源让给更重要的功能
    • 比如导出功能、定时任务等等

4.2. 简化功能

  • 聚合服务不再返回全量数据,只返回部分数据

4.3. 降低一致性

  • 使用异步简化流程
  • 出错使用缓存
  • 降低质量。比如直播场景下CDN扛不住,清晰度降档

5. 如何实现降级

5.1. 开关

5.2. 预案

5.3. 降级组件

6. 参考

讨论

使用 GitHub 账号参与讨论,评论会保存在 GitHub Issues 中。在 GitHub 查看