冷饭新炒:理解断路器CircuitBreaker的原理与实现 (9)

某次执行结果如下:

断路器[SlidingWindowCircuitBreaker-SERVICE]重置 线程[SERVICE-CircuitBreakerWorker-0]-进入process方法,number:0,休眠67毫秒 断路器[SlidingWindowCircuitBreaker-SERVICE]-错误百分比:100 断路器[SlidingWindowCircuitBreaker-SERVICE]状态变更,[CLOSED]->[OPEN] 返回结果:null,number:0 断路器[SlidingWindowCircuitBreaker-SERVICE]-错误百分比:100 返回结果:null,number:1 断路器[SlidingWindowCircuitBreaker-SERVICE]-错误百分比:100 返回结果:null,number:2 断路器[SlidingWindowCircuitBreaker-SERVICE]-错误百分比:100 返回结果:null,number:3 断路器[SlidingWindowCircuitBreaker-SERVICE]-错误百分比:100 返回结果:null,number:4 断路器[SlidingWindowCircuitBreaker-SERVICE]-错误百分比:100 返回结果:null,number:5 断路器[SlidingWindowCircuitBreaker-SERVICE]-错误百分比:100 返回结果:null,number:6 断路器[SlidingWindowCircuitBreaker-SERVICE]-错误百分比:100 返回结果:null,number:7 断路器[SlidingWindowCircuitBreaker-SERVICE]-错误百分比:100 返回结果:null,number:8 断路器[SlidingWindowCircuitBreaker-SERVICE]-错误百分比:100 返回结果:null,number:9 断路器[SlidingWindowCircuitBreaker-SERVICE]-错误百分比:100 断路器[SlidingWindowCircuitBreaker-SERVICE]状态变更,[OPEN]->[HALF_OPEN] 线程[SERVICE-CircuitBreakerWorker-1]-调用processSuccess方法 断路器[SlidingWindowCircuitBreaker-SERVICE]状态变更,[HALF_OPEN]->[CLOSED] 断路器[SlidingWindowCircuitBreaker-SERVICE]重置 线程[SERVICE-CircuitBreakerWorker-2]-进入process方法,number:0,休眠84毫秒 断路器[SlidingWindowCircuitBreaker-SERVICE]-错误百分比:66 断路器[SlidingWindowCircuitBreaker-SERVICE]状态变更,[CLOSED]->[OPEN] 返回结果:null,number:0 断路器[SlidingWindowCircuitBreaker-SERVICE]-错误百分比:66 返回结果:null,number:1 断路器[SlidingWindowCircuitBreaker-SERVICE]-错误百分比:66 返回结果:null,number:2 断路器[SlidingWindowCircuitBreaker-SERVICE]-错误百分比:66 断路器[SlidingWindowCircuitBreaker-SERVICE]状态变更,[OPEN]->[HALF_OPEN] 线程[SERVICE-CircuitBreakerWorker-3]-调用processSuccess方法 断路器[SlidingWindowCircuitBreaker-SERVICE]状态变更,[HALF_OPEN]->[CLOSED] 断路器[SlidingWindowCircuitBreaker-SERVICE]重置 线程[SERVICE-CircuitBreakerWorker-4]-调用processSuccess方法 小结

生产上应用CircuitBreaker模式建议使用主流实现例如Hystrix或者更活跃的Sentinel,但是要深入学习此模式则需要老老实实做一次推演。

参考资料:

CircuitBreaker - by Martin Fowler

《Release It! Design and Deploy Production-Ready Software》

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zygpyx.html