Interface RateLimiter
- All Known Implementing Classes:
FixedWindowRateLimiter, SlidingWindowRateLimiter, TokenBucketRateLimiter
public interface RateLimiter
限流器接口
定义限流器的基本方法
- Author:
- Kerbores(kerbores@riemann.tech)
-
Method Summary
Modifier and TypeMethodDescription获取支持的限流算法booleantryAcquire(String key, double permitsPerSecond) 尝试获取许可(默认1秒窗口)default booleantryAcquire(String key, int permits, long windowSizeMs) 尝试获取许可(自定义时间窗口)
-
Method Details
-
tryAcquire
尝试获取许可(默认1秒窗口)- Parameters:
key- 限流keypermitsPerSecond- 每秒允许的请求数- Returns:
- 是否获取成功
-
tryAcquire
尝试获取许可(自定义时间窗口)- Parameters:
key- 限流keypermits- 时间窗口内允许的请求数windowSizeMs- 时间窗口大小(毫秒)- Returns:
- 是否获取成功
-
getAlgorithm
-