【问题标题】:How does akka stream throttle work?akka 流油门是如何工作的?
【发布时间】:2017-06-28 08:21:22
【问题描述】:
def throttle(elements: Int, per: FiniteDuration, maximumBurst: Int, mode: ThrottleMode): Repr[Out]

maximumBurst是指可以同时处理的元素个数吗?

【问题讨论】:

    标签: scala akka akka-stream


    【解决方案1】:

    来自scaladoc

    Throttle 实现了令牌桶模型。有一个桶有一个 给定令牌容量(突发大小或最大突发)。代币落入 桶以给定的速率,可以“备用”以供以后使用 桶容量以允许一些突发性。每当流想要 发送一个元素,它从桶中获取与数量一样多的令牌 元素。如果没有,油门会等到桶 积累足够的代币。刚刚流式传输时存储桶已满 物化并开始。

    maximumBurst 是上述模型中的令牌桶大小。 假设我们启动了一个节流流,并且接收器开始要求元素。油门阶段将在背压(使用整形模式)或失败(使用强制模式)之前发出maximumBurst

    所以我会说这是可以在没有限制的情况下处理的最大元素数。 “同时”处理永远不会成为流中的确切定义:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-08-11
      • 2019-11-25
      • 1970-01-01
      • 2015-06-16
      • 2013-03-10
      相关资源
      最近更新 更多