用途:该技能用于实现熔断器模式,在分布式系统中防止级联故障,当某个服务不健康时快速失败,避免拖垮调用方。适用于为外部 API 调用增加弹性、保护慢速或故障的下游服务、实现优雅降级以及构建容错微服务。
主要能力:熔断器包含三种状态——CLOSED(正常,请求通过)、OPEN(服务故障,请求立即失败)、HALF_OPEN(测试服务是否恢复)。提供 TypeScript 与 Python 两种实现,支持配置失败阈值、成功阈值、超时时间以及可选的 fallback 回退函数。
使用方式:TypeScript 中通过 new CircuitBreaker({ failureThreshold, successThreshold, timeout, fallback }) 创建实例,调用 execute(fn) 执行受保护操作;Python 中可用装饰器风格 @circuit 包装函数,或调用 execute。示例包括支付 API 客户端和外部 API 调用。
适用场景:外部 API 调用、支付等关键服务、微服务间调用、需要优雅降级的场景。
限制与注意事项:资料未提供安装命令、包名或平台信息。常见错误包括超时设置过短导致服务无法恢复、在无关服务间共享熔断器、未处理 CircuitOpenError、忘记添加可观测性。建议按服务调整阈值、始终提供 fallback、监控熔断状态、为每个外部依赖使用独立熔断器,并可结合舱壁隔离、重试与超时模式。