diff --git a/notes/pics/rate-limit.png b/notes/pics/rate-limit.png new file mode 100644 index 00000000..f79e7b14 Binary files /dev/null and b/notes/pics/rate-limit.png differ 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 @@ + + + + + + + + + + + + + + + + 漏桶与令牌桶 + + 漏桶 + + + + + 请求 + + + + + + 排队 + + 桶满丢弃 + + 固定速率处理 + + 令牌桶 + + 固定速率放入令牌 + + + + + + + 桶满后不再放入 + + + 请求 + + 取走令牌 + + 有令牌:处理 + 没有令牌:拒绝 + 积累的令牌允许突发流量 +