From 491908e87abdf06f223b9b7f777cda3ff1f7d8a7 Mon Sep 17 00:00:00 2001 From: asahi Date: Wed, 3 Sep 2025 16:26:25 +0800 Subject: [PATCH] =?UTF-8?q?doc:=20=E4=BF=AE=E6=94=B9RateLimiter=E4=B8=AD?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E7=9A=84=E6=8F=8F=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- spring/Spring Cloud/CircuitBreaker/CircuitBreaker.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring/Spring Cloud/CircuitBreaker/CircuitBreaker.md b/spring/Spring Cloud/CircuitBreaker/CircuitBreaker.md index faaaae5..05d4296 100644 --- a/spring/Spring Cloud/CircuitBreaker/CircuitBreaker.md +++ b/spring/Spring Cloud/CircuitBreaker/CircuitBreaker.md @@ -615,7 +615,7 @@ bulkhead.getEventPublisher() 在ThreadPoolBulkhead的实现中,会为每一个bulkhead都创建独立的线程池,故而应当避免在项目中创建大量的bulkhead,避免项目线程数量的膨胀以及线程切换带来的巨大开销。 ## RateLimiter -Resilience4j提供了RateLimiter,其将从`epoch`(jvm启动开始)开始的所有nanos划分为了一系列周期,每个周期的时长可以通过`RateLimiterConfig.limitRefreshPeriod`来进行配置。在每个周期的开始,RateLimiter都会将`active permissions number`设置为`RateLimiterConfig.limitForPeriod`。 +Resilience4j提供了RateLimiter,其将从`epoch`(`某一特定时间点,详细见System.nanoTime方法的注释`)开始的所有nanos划分为了一系列周期,每个周期的时长可以通过`RateLimiterConfig.limitRefreshPeriod`来进行配置。在每个周期的开始,RateLimiter都会将`active permissions number`设置为`RateLimiterConfig.limitForPeriod`。 RateLimiter的默认实现为`AtomicRateLimiter`,其通过`AtomicReference`来管理自身的状态。`AtomicRateLimiter.State`其本身是不可变的,并且包含如下fields: - `activeCycle`: 上次调用所使用的cycle number