知识卡片

限流的两种视角:基于请求 vs 基于资源

普通读书笔记卡 · 1682.a

内容

限流分两类:基于请求限流从外部访问量入手(限制总用户数或单位时间请求数),实现简单但阈值难定——硬件差异也让处理能力难按倍数推算;基于资源限流从内部关键资源(连接数、线程数、CPU占用率)入手,更贴近真实压力,难点在于找准”关键资源”是哪个。发散:两种限流是”外部症状限制”和”内部病灶限制”的区别,后者更准但要求摸清系统瓶颈,做不到时退而求其次用前者。

参考来源

- 位置:《从0开始学架构》第36章《31|如何应对接口级的故障?》"基于请求限流""基于资源限流"两节(源文件:_epub-src/OEBPS/Text/part0035_split_004.html) - 结论依据:原文说明基于请求限流的硬件差异问题"一台32核的机器和64核的机器处理能力差别很大……64核的机器比32核的机器,业务处理性能并不是2倍的关系,可能是1.5倍,甚至可能是1.1倍",并说明"基于资源限流……找到系统内部影响性能的关键资源,对其使用上限进行限制……相比基于请求限流能够更加有效地反映当前系统的压力"。 - 原始内容:一台32核的机器和64核的机器处理能力差别很大……64核的机器比32核的机器,业务处理性能并不是2倍的关系,可能是1.5倍,甚至可能是1.1倍……基于资源限流是从系统内部考虑的,即:找到系统内部影响性能的关键资源,对其使用上限进行限制……相比基于请求限流能够更加有效地反映当前系统的压力。