v1.0.6
提供能简单处理服务熔断逻辑的工具包。
本工具包主要通过Command
对象交互,可通过circuit.NewCommand
函数获取一个 Command
对象,通过该对象的Execute
方法即可在熔断器上执行设置的功能函数。
初始化 Command
时可设置熔断器算法,熔断器的主接口为Breaker
,包中目前内置了两个熔断器供选择:
CutBreaker
(默认):提供了常规的断路器模式的熔断器实现。即维护Open
、half-Open
、Closed
3个状态,错误率达到阈值后Open
,Open
后休眠指定时间转变为half-Open
,之后允许一个请求探测,如恢复正常,则Closed
,反之重新进入Open
;SreBreaker
:提供了Google SRE提出的adaptive throttling
算法实现的自适应熔断器。算法介绍参考:https://sre.google/sre-book/handling-overload/#eq2101;