如何出错,如何暂停或降低Camel Hazelcast SEDA消费者的吞吐量

时间:2015-05-19 23:05:20

标签: apache-camel hazelcast hystrix

我有一个Camel路由消耗来自Hazelcast SEDA队列的消息。如果在处理消息时出现任何错误,我希望减少消耗吞吐量,以避免将大量消息移动到死信队列。我一直在使用http://camel.apache.org/throttler.html调查黑客行为 动态值和断路器:http://camel.apache.org/load-balancer.html但没有成功。

有没有其他方法可以实现这一目标?

2 个答案:

答案 0 :(得分:1)

你的另一个Camel Route是否会向这个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>

答案 1 :(得分:1)

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

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