为什么在RateLimiter中使用coolDownIntervalMicros这样?

时间:2018-10-11 10:44:18

标签: guava ratelimit

方法如下:

double coolDownIntervalMicros() {
  return warmupPeriodMicros / maxPermits;
}

它位于基于Guava 26.0-jre版本的SmoothWarmingUp类中。
并且我们知道,与SmoothWarmingUp相关的功能图如下:

   *          ^ throttling
   *          |
   *    cold  +                  /
   * interval |                 /.
   *          |                / .
   *          |               /  .   ← "warmup period" is the area of the trapezoid between
   *          |              /   .     thresholdPermits and maxPermits
   *          |             /    .
   *          |            /     .
   *          |           /      .
   *   stable +----------/  WARM .
   * interval |          .   UP  .
   *          |          . PERIOD.
   *          |          .       .
   *        0 +----------+-------+--------------→ storedPermits
   *          0 thresholdPermits maxPermits
   * 

warmupPeriodMicros是梯形的区域。
我不知道计算的含义是什么。

0 个答案:

没有答案