根据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施加的速率限制。
任何帮助将不胜感激!
由于
答案 0 :(得分:2)
它的全局,所以无论使用哪个消费者线程将消息发送给节流器,它每秒10个。