CircuitBreakerMetrics
熔断器度量指标,熔断器在工作中,熔断相关实际数据,均存储在此。
类图关系如下:
成员变量
-
private final int ringBufferSize;//熔断在CLOSED,HALF_OPEN状态下的环形区缓冲大小
-
private final RingBitSet ringBitSet;//存储请求通过或被熔断次数
-
private final LongAdder numberOfNotPermittedCalls;//请求被熔断的次数
RingBitSet
CircuitBreaker在CLOSED 或 HALF_OPEN状态时,成功调用会在bit位存0,失败的调用会存储1。Ring Bit Buffer具有(可配置的)固定大小。Ring Bit Buffer 原理类似于java.util.BitSet。BitSet使用long []数组来存储这些位,意味着BitSet只需要一个16个长(6