美文网首页程序员
Resilience4j源码解析-2.1 CircuitBrea

Resilience4j源码解析-2.1 CircuitBrea

作者: coding到灯火阑珊 | 来源:发表于2018-12-20 18:23 被阅读0次

一,CiruitBreaker(熔断器)模块总体介绍

Resilience4j的CircuitBreaker主要由6个部分组成:管理熔断器实例的注册容器、熔断器的相关配置、熔断器的各种状态、触发熔断器状态变化的指标、熔断器行为变化产生的事件以及熔断器本身。

它们之间的基本调用关系如下图:

二,CiruitBreaker模块各部分详解

源码位置如下图:

1,CircuitBreakerRegistry(熔断器容器)

CircuitBreakerRegistry接口的实现类InMemoryCircuitBreakerRegistry在内部使用ConcurrentHashMap容器来存储CircuitBreaker实例,保证了并发安全及原子性。通过CircuitBreakerRegistry可以创建新的CircuitBreaker实例及检索创建的CircuitBreaker实例。

需主要关注的源码如下:

注意:在CircuitBreakerRegistry接口中使用static方法实现了线程安全的单例模式。

在InMemoryCircuitBreakerRegistry实现类中,主要做了2件事:创建了ConcurrentHashMap实例及调用CricuitBreaker.of(...)方法创建CircuitBreaker实例。

下一篇文章《Resilience4j源码解析-2.2 CircuitBreaker模块》讲解熔断器配置部分。

源码的中文注释地址:https://github.com/Justin02180218/resilience4j


==大家可以关注我的微信公众号,后续文章将在公众号中同步更新==

相关文章

网友评论

    本文标题:Resilience4j源码解析-2.1 CircuitBrea

    本文链接:https://www.haomeiwen.com/subject/pzkukqtx.html