def throttle(elements: Int, per: FiniteDuration, maximumBurst: Int, mode: ThrottleMode): Repr[Out]
maximumBurst
是否意味着可以同时处理的元素数量?
答案 0 :(得分:6)
来自scaladoc:
Throttle实现令牌桶模型。有一个水桶 给定令牌容量(突发大小或maximumBurst)。令牌落入 以给定的速度进行铲斗,可以“保留”以供以后使用 铲斗容量允许一些突发性。每当溪流想要的时候 发送一个元素,从桶中获取尽可能多的令牌数量 元素。如果没有,节流阀等到桶 累积足够的代币。刚流时,水桶已满 实现并开始。
maximumBurst
是上述模型中的令牌桶大小。
假设我们开始一个受限制的流,并且接收器开始要求元素。在加压(使用整形模式)或失败(使用强制模式)之前,油门阶段将发出maximumBurst
个。{/ p>
所以我想说这是没有限制就可以处理的最大元素数。 “同时”处理永远不会成为流中的确切定义:)