熔断器是微服务架构中用于提升系统容错能力的核心模式,通过断路、隔离、降级机制防止雪崩效应。
🧩 核心原理
状态机
- 关闭(Closed):正常流量,无熔断
- 开启(Open):触发熔断后,直接返回错误
- 半开(Half-Open):尝试恢复服务
- 📌 示意图:
统计指标
- 失败率、超时率、调用次数等触发熔断的阈值
- 📌 Hystrix 实现:
🛠️ 实现方式
- 编程实现:使用计数器记录失败请求
- 框架支持:如 Hystrix、Resilience4j、Sentinel
- 📌 代码示例:
# 简化逻辑(伪代码) if failure_rate > threshold: trip_circuit() # 触发熔断 else: allow_request() # 允许流量
🌐 应用场景
- 服务间调用超时或失败时的快速失败
- 高并发场景下的限流与降级
- 📌 扩展阅读:
深入理解熔断器模式
⚠️ 注意事项
- 需配合重试、缓存等策略使用
- 避免过度依赖熔断器导致服务不可用
- 📌 熔断器 vs 限流器: