resilience4j(九):核心模块RateLimiter源码之RateLimiter内部模块关系

x33g5p2x  于2022-03-22 转载在 其他  
字(0.6k)|赞(0)|评价(0)|浏览(491)

RateLimiter

resilience4j-SpringBoot2-demo
RateLimiter主要分为以下几个模块:限流配置,限流注册,限流事件消费者注册,限流监控指标,限流事件,限流事件处理器,限流事件消费者。

各模块间关系

  • RateLimiterRegistry通过其实现类InMemoryRateLimiterRegistry根据RateLimiterConfig创建RateLimiter实例(AtomicRateLimiter、SemaphoreBasedRateLimiter)。
  • EventConsumerRegistry通过其实现类DefaultEventConsumerRegistry创建EventConsumer事件消费者。
  • RateLimiter通过其实现类(AtomicRateLimiter、SemaphoreBasedRateLimiter)处理限流,通过EventPublisher发布RateLimiterEvent(RateLimiterOnSuccessEvent、RateLimiterOnFailureEvent)从而被注册到EventProcessor事件处理器的EventConsumer事件消费者消费。

接口介绍

从RateLimiter接口截图可以看出主要分为以下几个部分:

  • 创建限流策略
  • 装饰限流请求
  • 运行时修改限流配置
  • 返回限流信息(如状态、监控指标、配置等)

相关文章