队列上的最大活动MQ使用者数

时间:2013-04-16 16:31:32

标签: java jms activemq

我正在设置一个需要缩放的应用程序。我将消息发布到Active MQ并从那里读取消息。

到目前为止,我已经使用了最多3个指向队列的并发消费者(每个消费者使用不同的物理机器运行)。

我需要知道有多少消费者可以指向Active MQ中的Queue。

是否有最大限制?

我找到了这个链接:

http://activemq.apache.org/multiple-consumers-on-a-queue.html

但它没有说明有关最大连接/会话/消费者的任何信息。它只说每个连接一个会话。

2 个答案:

答案 0 :(得分:4)

JMS规范没有规定对消费者数量的任何限制。您可以为给定的队列或主题添加任意数量的消费者。

问题是你真正需要多少消费者。增加消费者数量将允许您进行更多并行处理,但您将面临内存问题。对于例如如果你在一台机器上启动成千上万的消费者,它只会启动数千个消耗内存的线程。

此外,如果您为单个队列拥有多个使用者,则最好让选择器过滤掉队列中的消息,以便您可以对消息进行一些控制以及哪些侦听器应该使用它们。

答案 1 :(得分:3)

任意数量的消费者都可以指向该队列。但只有1个消费者能够访问该队列中的对象。一旦它检索到该对象,该特定的消费者将被断开连接,其他消费者将连接到您的队列。 您可以在xml文件中指定队列的大小。您可以在某些搜索引擎中轻松找到它。我完全不记得标签名称。