diff --git a/notes/pics/circuit-breaker.png b/notes/pics/circuit-breaker.png new file mode 100644 index 00000000..3ddc6e37 Binary files /dev/null and b/notes/pics/circuit-breaker.png differ diff --git a/notes/系统设计基础.md b/notes/系统设计基础.md index 959ff9a0..fa9c0e97 100644 --- a/notes/系统设计基础.md +++ b/notes/系统设计基础.md @@ -111,6 +111,10 @@ - 降级:主动关闭部分非核心功能,从而保证核心功能可用; - 熔断:某个依赖的服务持续出错时,暂时不再调用它而是直接返回默认结果,避免故障沿着调用链扩散。 +熔断器有关闭、打开和半开三种状态:失败率超过阈值时打开;打开一段时间后进入半开状态,放行少量请求试探,成功则关闭,失败则重新打开。 + +

+ ## 五、安全性 要求系统在应对各种攻击手段时能够有可靠的应对措施,常见的攻击手段和防范方法见 [攻击技术](攻击技术.md)。 diff --git a/tools/diagram/src/circuit-breaker.svg b/tools/diagram/src/circuit-breaker.svg new file mode 100644 index 00000000..37a27dd7 --- /dev/null +++ b/tools/diagram/src/circuit-breaker.svg @@ -0,0 +1,47 @@ + + + + + + + + + 熔断器状态 + + + + + 关闭 + Closed,正常调用 + + + + + 打开 + Open,直接返回 + + + + + 半开 + Half-Open,少量试探 + + + 失败率超过阈值 + + + 等待一段时间 + + + 试探请求失败 + + + 试探请求成功 +