2

我有一条 Camel 路线使用来自 Hazelcast SEDA 队列的消息。如果在处理消息时出现任何错误,我想减少消耗的吞吐量,以避免将大量消息移动到死信队列。我一直在调查通过使用 带有动态值和断路器的 http://camel.apache.org/throttler.html 来破解某些东西:http : //camel.apache.org/load-balancer.html但没有成功。

有没有其他方法可以做到这一点?

4

2 回答 2

1

是您的另一条骆驼路线向这个 Seda 消费者发送消息吗?在这种情况下,您可以在该端点上使用 Throttler。像这样的东西:

<route>
  <from uri="....." />
  <throttle maximumRequestsPerPeriod="3" timePeriodMillis="10000">
    <to uri="hazelcast:seda:foo" />
  </throttle>
</route>

<route>
  <from uri="hazelcast:seda:foo" />
  <to uri="....." />
</route>
于 2015-05-20T21:57:18.497 回答
1

为了提供此功能,我结束了构建自己的(也是第一个)Camel 组件:

https://github.com/rodolfodpk/camel-hz-queue

于 2015-05-30T02:38:38.777 回答