一切皆为插件的开发者工具运行时框架
🧩 核心特性:
- 插件热插拔 (importlib 动态加载)
- 依赖自动解析 (拓扑排序 + 循环检测)
- 企业级稳定 (熔断/降级/重试/隔离)
- 事件驱动 (发布/订阅事件总线)
- 完整配置 (YAML 配置 + 热重载)
31 lines
629 B
Markdown
31 lines
629 B
Markdown
# circuit-breaker 熔断器
|
|
|
|
为插件提供熔断能力,防止级联失败。
|
|
|
|
## 功能
|
|
|
|
- 失败计数熔断
|
|
- 状态:`closed` → `open` → `half-open`
|
|
- 可配置失败阈值
|
|
- 自动恢复机制
|
|
|
|
## 状态机
|
|
|
|
```
|
|
closed (正常) → open (熔断) → half-open (半开) → closed (恢复)
|
|
```
|
|
|
|
## 使用
|
|
|
|
```python
|
|
# 检查是否有熔断能力
|
|
if "circuit_breaker" in capabilities:
|
|
breaker = extensions["_circuit_breaker_provider"]
|
|
cb = breaker.create("my-plugin", threshold=5)
|
|
|
|
try:
|
|
result = cb.call(risky_function, arg1, arg2)
|
|
except Exception:
|
|
print("熔断器已触发")
|
|
```
|