熔断器实现降级策略 ,调用degradeStrategy.degrade() 方法
核心接口为DegradeStrategy
核心实现为DefaultDegradeStrategy,调用各种降级策略的degrade方法执行
再看熔断监听器触发器CircuitBreakerListenerTrigger
如果熔断监听器列表不为空,就初始化熔断监听器上下文,然后循环熔断监听器,传入context打开监听。
最后下发rhinoEvent事件
熔断监听器关闭,原理同上
recover 恢复
核心接口为RecoverStrategy
核心操作有4种
1.什么也不操作
2.平滑recover
3.快速recover
4.TimeRecover
对于FastRecovery 快速恢复
直接根据剩余时间判断,如果小于0,就返回0
对于平滑恢复smoothRecovery,根据策略中配置的恢复延迟时间恢复
对于TimeRecovery,则根据时间比,进行恢复,第1分钟恢复1台,第2分钟恢复2台