Resilience4j-starter熔断

85 阅读1分钟

介绍

基于Resilience4j封装了熔断,限流以及重试相关组件,基于springboot starter自动装配,通过注解配置,切面统一处理逻辑

熔断

功能

目前支持基于注解熔断,支持动态修改配置(支持配置源切换),集成Falcon监控告警等,后期扩展:降级方法配置

模块

image.png

类功能

  1. HAConfigProvider

    • 功能:

      • 拉取配置中心配置,可扩展,readSource
      • 监听配置修改,信息同步到ConfigManager,HAConfigListener.onEvent()
    • 类图

  • 依赖

    • HAConfigListener:监听配置修改,实时更新配置
  1. ConfigManager

    • 功能:

      • 提供获取熔断配置信息接口,getConfiguration
      • 缓存配置信息,protected volatile ConcurrentMap<String, C> configurations = Maps.newConcurrentMap();
    • 类图

  • 依赖

    • HAConfigProvider
  1. CircuitBreakerProxy

    • 功能:

      • 读取ConfigManager配置,实例化CircuitBreaker对象,circuitBreaker()
      • 获取BlockingQueue阻塞队列更新配置信息,更新 熔断配置
      • Faclon监控,CircuitBreakerMetricRegistry.ofMetricRegistry
    • 依赖

      • ConfigManager
        1.     Aspect

    • 功能:

      • 熔断/限流注解切面,处理异常逻辑

参考

配置信息

blog.csdn.net/xgw1010/art…

gitHub