【发布时间】:2014-07-01 03:05:51
【问题描述】:
根据 Camel 在 Throttler EIP 上的文档,如下所示的路由将允许在任何给定的 1000 毫秒周期内不超过 10 条消息到达 queue:b 端点:
from("queue:a").throttle(10).to("queue:b");
我无法找到解释节流是基于每个线程还是基于每个路由的文档。给定以下路由,是否允许每个消费者向 queue:b 发送不超过 10 条消息,还是将所有消费者的整体限制为每单位时间 10 条消息?
from("queue:a?concurrentConsumers=20")
.to("bean:myBean?method=doSomeExpensiveLongRunningCalculations)
.throttle(10).asyncDelayed()
.to("bean:myBean?method=makeAPICallToExternalService")
.to("bean:myBean?method=performMoreCalculationsAndSave");
我必须在上面限制的原因是由于第三方 API 施加的速率限制。
任何帮助将不胜感激!
谢谢
【问题讨论】:
标签: apache-camel