Java ActiveMQ速率限制外部服务

Java ActiveMQ速率限制外部服务,java,activemq,message-queue,Java,Activemq,Message Queue,让我们假设我们有一些网络爬行系统,需要扩展到许多工人。 每个worker都有一个限制,例如每个可以爬网的web主机每分钟最多5个HTTP请求 “每个web主机”可以位于消息头中,并由生产者填充 我可以教ActiveMQ将消息分派到此方式的节点吗?ActiveMQ不支持使用者限制,只支持生产者限制。Camel确实支持这一点,请参见此处接受的答案:Camel节流器的选项非常有限。我需要limis“每个可以爬网的web主机的每个时间段”。使用驼峰节流器,我只能限制一段时间内的队列吞吐量。我还需要按we

让我们假设我们有一些网络爬行系统,需要扩展到许多工人。 每个worker都有一个限制,例如每个可以爬网的web主机每分钟最多5个HTTP请求

“每个web主机”可以位于消息头中,并由生产者填充


我可以教ActiveMQ将消息分派到此方式的节点吗?

ActiveMQ不支持使用者限制,只支持生产者限制。Camel确实支持这一点,请参见此处接受的答案:

Camel节流器的选项非常有限。我需要limis“每个可以爬网的web主机的每个时间段”。使用驼峰节流器,我只能限制一段时间内的队列吞吐量。我还需要按web主机或其他邮件标题值执行此操作。听起来您必须自己滚动:(您仍然可以通过ActiveMQ将处理请求排队,使用队列按站点对其进行排序,并将其分派给工作人员。消息的一部分可能是限制,在限制中,您可以使用java计时和同步原语来实现所需的刮取率。大多数内容都设计为“尽可能快地”运行):你很少有相反的问题