From 0cd19245c745a7ba7b2a77c46bb4c6f1502ea075 Mon Sep 17 00:00:00 2001 From: CyC2018 Date: Sun, 25 Oct 2026 19:34:23 +0800 Subject: [PATCH] =?UTF-8?q?Update=20=E7=B3=BB=E7=BB=9F=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=9F=BA=E7=A1=80.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 补充漏桶与令牌桶的说明和示意图。 --- notes/pics/rate-limit.png | Bin 0 -> 106550 bytes notes/系统设计基础.md | 4 ++ tools/diagram/src/rate-limit.svg | 71 +++++++++++++++++++++++++++++++ 3 files changed, 75 insertions(+) create mode 100644 notes/pics/rate-limit.png create mode 100644 tools/diagram/src/rate-limit.svg diff --git a/notes/pics/rate-limit.png b/notes/pics/rate-limit.png new file mode 100644 index 0000000000000000000000000000000000000000..f79e7b149552f1d4444d9f54e6d5a66961ad8463 GIT binary patch literal 106550 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%0ALUR@`PCfPmr%y20BBX4JwJ`3UG9Bfuj`$ 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 UeP7}8#iUVIP?xWeGkfv>09Ds7!~g&Q literal 0 HcmV?d00001 diff --git a/notes/系统设计基础.md b/notes/系统设计基础.md index fa9c0e97..84e0dc5a 100644 --- a/notes/系统设计基础.md +++ b/notes/系统设计基础.md @@ -111,6 +111,10 @@ - 降级:主动关闭部分非核心功能,从而保证核心功能可用; - 熔断:某个依赖的服务持续出错时,暂时不再调用它而是直接返回默认结果,避免故障沿着调用链扩散。 +漏桶以固定速率处理请求,桶满时丢弃新的请求;令牌桶以固定速率放入令牌,请求拿到令牌才能被处理,桶中积累的令牌允许一定的突发流量。 + +

+ 熔断器有关闭、打开和半开三种状态:失败率超过阈值时打开;打开一段时间后进入半开状态,放行少量请求试探,成功则关闭,失败则重新打开。

diff --git a/tools/diagram/src/rate-limit.svg b/tools/diagram/src/rate-limit.svg new file mode 100644 index 00000000..70f3d027 --- /dev/null +++ b/tools/diagram/src/rate-limit.svg @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + 漏桶与令牌桶 + + 漏桶 + + + + + 请求 + + + + + + 排队 + + 桶满丢弃 + + 固定速率处理 + + 令牌桶 + + 固定速率放入令牌 + + + + + + + 桶满后不再放入 + + + 请求 + + 取走令牌 + + 有令牌:处理 + 没有令牌:拒绝 + 积累的令牌允许突发流量 +