熔断
最后更新于:2022-04-02 04:10:24
[TOC]
## 微服务熔断( hystrix-go)目标
- 阻止故障的连锁反应
- 快速失败并迅速恢复
- 回退并优雅降级
- 提供近实时的监控与告警
## 使用过程中一些原则
- 防止任何单独的依赖耗尽资源(线程)
- 过载立即切断并快速失败,防止排队
- 尽可能提供回退以保护用户免受故障
- 通过近实时的指标,监控和告警,确保故障被及时发现
## 熔断器原理
![](../../images/screenshot_1624580019935.png)
## 熔断器状态
- CLOSED 关闭状态:允许流量通过。
- OPEN 打开状态:不允许流量通过,即处于降级状态,走降级逻辑。
- HALF OPEN 半开状态:允许某些流量通过,如果出现超时、异常等情况
- 将进入 OPEN 状态,如果成功,那么将进入 CLOSED 状态
## hystrix-go 的重要字段
- RequestVolume Threshold:10秒内的请求量,默认值20,判断是否熔断
- Error PercentThreshold:熔断百分比,默认值50%,超过启动熔断
## 熔断计数器
- 每一个 Command都会有一个默认统计控制器
- 默认的统计控制器 Defaultmetriccollector
- 保存熔断器的所有状态,调用次数,失败次数,被拒绝次数等信息
';