知识卡片
降级:丢车保帅的核心思想,及两种实现方式的取舍
内容
降级指主动降低某些业务或接口的功能水平——可以是只保留部分功能,也可以是彻底停掉某功能,比如论坛可以降级成”只能看帖不能发帖”,进一步还能降级成”只能看帖看评论、不能发评论”;App的日志上传接口甚至可以整段时间完全停掉。降级的核心思想是丢车保帅、优先保证核心业务:论坛90%的流量都是在看帖,那故障时就该优先保住看帖功能;日志上传对App来说只是辅助功能,故障时完全可以先停掉。实现降级常见有两种方式。系统后门降级是给系统预留一个降级入口(比如访问一个特定URL就相当于下达降级指令,具体降级哪个功能通过URL参数传入,通常还要加密码这类安全措施防止被滥用)——实现成本低,但缺点是如果服务器数量多,需要一台一台去手动操作,在故障处理争分夺秒的场景下效率明显不够。独立降级系统是为了解决这个效率问题,把降级操作独立成一套单独的系统,可以实现更复杂的权限管理和批量操作能力——本质上是用”多建一套系统”的额外成本,换来故障发生时能一键批量操作、而不是逐台服务器手动处理的响应速度。
参考来源
- 位置:《从零开始学架构》第31讲《如何应对接口级的故障?》"降级"(源文件:_epub-src/OEBPS/text00002.html)
- 结论依据:原文说明"降级的核心思想就是丢车保帅,优先保证核心业务",并展开系统后门降级"实现成本低,但主要缺点是如果服务器数量多,需要一台一台去操作,效率比较低"和独立降级系统"将降级操作独立到一个单独的系统中,可以实现复杂的权限管理、批量操作等功能",直接支撑本卡片结论。
- 原始内容:降级的核心思想就是丢车保帅,优先保证核心业务……系统后门降级的方式实现成本低,但主要缺点是如果服务器数量多,需要一台一台去操作,效率比较低……为了解决系统后门降级方式的缺点,将降级操作独立到一个单独的系统中。