
resilience4j
王如霜
这个作者很懒,什么都没留下…
展开
-
resilience4j之CircuitBreaker熔断器——总结
CircuitBreaker主要由:配置、注册器、熔断器、度量指标、事件发布组成原创 2020-06-27 17:34:12 · 1915 阅读 · 0 评论 -
resilience4j之CircuitBreaker熔断器——CircuitBreakerRegistry注册器
CircuitBreakerRegistry 由InMemoryCircuitBreakerRegistry实现前面文章提到在CircuitBreakerConfiguration利用@Bean创建CircuitBreakerRegistry时调用了InMemoryCircuitBreakerRegistry的of方法,of方法调用了InMemoryCircuitBreakerRegistry的构造方法,构造方法最终将CircuitBreakerConfig放到了ConcurrentMap<Stri原创 2020-06-27 17:33:25 · 844 阅读 · 0 评论 -
resilience4j之CircuitBreaker熔断器——CircuitBreakerEvent 事件
CircuitBreaker.EventPublisher /** * An EventPublisher can be used to register event consumers. * 事件处理器,用于向EventProcessor中注册处理六种事件的EventConsumer,且可根据不同事件类型注册不同的处理策略,onEvent默认所有事件触发 */ interface EventPublisher extends io.github原创 2020-06-27 17:32:34 · 912 阅读 · 0 评论 -
resilience4j之CircuitBreaker熔断器——CircuitBreakerMetrics指标度量
在上篇文章中提到,onError()或onSuccess()时都会去计算错误率等指标,具体是由CircuitBreakerMetrics实现一:CircuitBreaker.Metrics 指标度量接口该接口定义了一系列获取度量指标的方法,其中包括如下://度量指标接口,用于观察熔断器的各项指标 interface Metrics { // 返回失败率百分比,如果调用数小于MINIMUM_NUMBER_OF_CALLS,返回-1 float getFailur原创 2020-06-27 17:30:12 · 682 阅读 · 0 评论 -
resilience4j之CircuitBreaker熔断器——CircuitBreakerStateMachine状态机
CircuitBreaker有五种状态,把这5种状态的公共属性和行为抽象到CircuitBreakerState,然后5种状态ClosedState、OpenState、DisabledState、ForcedOpenState、HalfOpenState分别去实现包括://把5种状态的公共属性及公共行为抽象出来封装成抽象类CircuitBreakerState private interface CircuitBreakerState { //是否可以尝试获取信号量,其实就是一原创 2020-06-27 17:26:28 · 1585 阅读 · 0 评论 -
resilience4j之CircuitBreaker熔断器——CircuitBreakerConfig 配置
一. 为什么要有断路器当A服务调用B服务,由于网络原因或自身原因出现问题时,A就会等待B的相应,当有更多的服务器请求资源时,就会有更多的请求A等待B的响应,这样就会发生连锁效应(雪崩效应),因为服务A有太多的线程导致服务A线程耗尽从而导致A也无法接受请求出现问题,断路器就是解决这一问题的二. 什么是断路器断路器有三种正常状态:完全打开OPEN,半开HALF_OPEN,关闭CLOSED,还有两种通过设置的强制状态:强制不可用DISABLED,强制打开FORCED_OPEN。三:滑动窗口的类型基于计原创 2020-06-27 17:21:21 · 4278 阅读 · 1 评论