Module bus.vortex

Class Limiter

java.lang.Object
org.miaixz.bus.vortex.magic.Limiter

public class Limiter extends Object
限流器类,基于令牌桶算法实现请求限流功能
Since:
Java 17+
Author:
Justubborn
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    double
    尝试获取一个令牌,阻塞直到获取成功
    com.google.common.util.concurrent.RateLimiter
    获取令牌桶实例,采用双重检查锁确保线程安全
    void
    初始化令牌桶,设置令牌生成速率 使用 synchronized 确保线程安全

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Limiter

      public Limiter()
  • Method Details

    • initRateLimiter

      public void initRateLimiter()
      初始化令牌桶,设置令牌生成速率 使用 synchronized 确保线程安全
    • fetchRateLimiter

      public com.google.common.util.concurrent.RateLimiter fetchRateLimiter()
      获取令牌桶实例,采用双重检查锁确保线程安全
      Returns:
      限流器实例(RateLimiter)
    • acquire

      public double acquire()
      尝试获取一个令牌,阻塞直到获取成功
      Returns:
      获取令牌的等待时间(秒)