与并发消费者节流

时间:2014-06-30 14:42:21

标签: apache-camel

根据Camel在Throttler EIP上的文档,如下所示的路由将允许不超过10条消息到达队列:b端点在任何给定的1000毫秒时间内:

from("queue:a").throttle(10).to("queue:b");

我无法找到解释是否基于每个线程或每个路由进行限制的文档。给定以下路由,是否允许每个消费者向队列发送不超过10条消息:b,或者每个单位时间内所有消费者的全部限制为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施加的速率限制。

任何帮助将不胜感激!

由于

1 个答案:

答案 0 :(得分:2)

它的全局,所以无论使用哪个消费者线程将消息发送给节流器,它每秒10个。