加载中...
分布式系统中防止级联故障的保护模式,当下游服务连续失败超过阈值,熔断器打开并快速返回失败响应,避免上游线程资源耗尽。源自电路保险丝概念,由 Michael Nygard 在 2007 年系统化描述。

| 类型 | 分布式系统容错模式 |
| 典型实现 | Netflix Hystrix, Resilience4j, Sentinel, gobreaker |
| 首次系统描述 | Michael Nygard, Release It!, 2007 年 |
Closed(正常):请求正常通过并统计失败率。Open(断开):失败率超过阈值后触发,后续请求直接返回错误,持续冷却时间(如 30 秒)。Half-Open(半开):冷却期结束后放行少量探针请求,成功则回到 Closed,失败则重新 Open。这个机制让上游立刻止损,而不是傻等超时把自己线程池也打满。[1]
Netflix 2012 年将 Hystrix 开源,把熔断、隔仓(线程池隔离)、降级打包在一起,成为微服务容错事实标准。2018 年 Hystrix 进入维护模式,推荐迁移到 Resilience4j——函数式风格、无框架依赖的 Java 库,使用装饰器模式,比 Hystrix 更轻量,对 Spring Boot 3 和虚拟线程适配更好。Go 生态中 sony/gobreaker 是常用选择。

| 类型 | 分布式系统容错模式 |
| 典型实现 | Netflix Hystrix, Resilience4j, Sentinel, gobreaker |
| 首次系统描述 | Michael Nygard, Release It!, 2007 年 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧