2013-04-16 43 views
2

我正在設置需要縮放的應用程序。我將消息發佈到Active MQ並從那裏讀取消息。直到現在,我已經使用了指向隊列的最多3個併發消費者(每個消費者使用不同的物理機器進行操作)。隊列上的活動MQ使用者的最大數量

我需要知道有多少消費者可以指向Active MQ中的隊列。

是否有最大限制?

我發現這個鏈接:

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

但它沒有說明有關的最大連接數/會話/消費者什麼。它只說每個連接一個會話。

回答

3

任何數量的消費者都可以指向該隊列。但是隻有一個消費者能夠訪問該隊列中的對象。一旦它檢索到該對象,該特定的消費者將被斷開,並且其他消費者將連接到你的隊列。 您可以在xml文件中指定隊列的大小。你可以在一些搜索引擎中輕鬆找到它。我完全不記得標籤名稱。

4

JMS規範沒有規定消費者數量的任何限制。您可以爲給定的隊列或主題添加儘可能多的消費者。

問題是您真正需要多少消費者。增加消費者的數量將允許您進行更多的並行處理,但您將面臨內存問題。對於例如如果你在一臺機器上啓動數千個消費者,它只會啓動數千個會消耗內存的線程。

此外,如果你有一個隊列有多個使用者,最好有選擇器從隊列中過濾掉消息,這樣你就可以對消息進行一些控制,並且哪些監聽器應該使用它們。