知识卡片

隔离限流熔断降级的责任边界

普通读书笔记卡

内容

四个手段各守不同边界:隔离是切分资源/调用方防止故障蔓延(线程池隔离);限流是服务端按自身承载力设过载保护,超出即拒绝;熔断是调用端保护——下游频繁失败就主动断开快速失败;降级是业务兜底,牺牲非核心功能换核心链路可用。发散:能被熔断降级的功能本身说明不在核心链路,这也是判断依赖是否核心的反向标准。

参考来源

- 位置:第9章《高可用与稳定性》9.2节「隔离、限流、熔断和降级」(源文件:_epub-src/text/part0043.html) - 结论依据:原文明确说明线程池隔离是为每个RPC调用单独准备线程池防止拖垮整个服务器;限流是服务端根据能力上限设置过载保护;熔断是调用端对自己的保护、快速失败原则;降级是业务层面的兜底、尽最大努力提供有损服务,直接支持卡片对四个手段各守不同责任边界的论述。 - 原始内容:"可以使用线程池隔离,为每个RPC调用单独准备一个线程池……限流是服务端,根据其能力上限设置一个过载保护;而熔断是调用端对自己做的一个保护……对于客户端调用的某个服务,如果服务在短时间内大量超时或抛错,则客户端直接开启熔断……降级是一种兜底方案,是在系统出故障之后的一个尽力而为的措施。"