【发布时间】:2016-06-20 16:22:59
【问题描述】:
当客户端应用在 5 秒的时间内发送超过 1000 个请求时,我需要通过整形(排队)入站流量来节流。
我遵循的解决方案是: 我有一个骆驼:油门将最大请求设置为 1000,将时间跨度设置为 5 秒。当超过阈值时,我正在捕获节流异常,并且在 onException 块内,我会将节流消息发送到 ActiveMQ 请求队列以供以后进一步处理,因为 Camel 基于 1000 req/5 sec 配置过载。
我成功地实现了上述操作,但是我想让 Camel 消费者稍后进一步处理不是一次性处理来自 ActiveMQ 请求队列的所有消息,而是以 10 秒的延迟处理每条消息,例如
我无法在 ActiveMQ 中设置参数来延迟向消费者发送消息,也不能延迟 Camel 消费者从请求队列中拉出消息。
如何满足我的上述要求
请帮忙
谢谢 拉梅什。
【问题讨论】:
标签: apache-camel activemq throttling