ActiveMQ –经纪人网络解释–第4部分
在前面的第3部分中 ,我們已經看到ActiveMQ如何幫助將遠程使用者與本地使用者區分開來,這有助于確定從消息生產者到使用者的較短路徑。
在第4部分中,我們將研究如何在遠程代理上負載均衡并發使用者。
讓我們考慮一些高級配置,以平衡遠程代理中隊列上的并發消息使用者,如下所示。
| 第四部分–經紀人網絡 |
在以上配置中,我們有一個消息生成器,將消息發送到Broker-1上的隊列moo.bar中。 Broker-1建立到Broker-2和Broker-3的網絡連接器。 消費者C1使用來自代理2上隊列moo.bar的消息,而消費者C2和C3是代理3上隊列moo.bar上的并發消費者。
讓我們看看這個動作
讓我們創建三個經紀人實例…
| 經紀人1 | 61616 | 8161 | 5672 |
| 經紀人2 | 61626 | 9161 | 5682 |
| 經紀人3 | 61636 | 10161 | 5692 |
消費者訂閱由Broker-2和Broker-3轉發到其相鄰的Broker-1,后者通過使用咨詢消息將網絡連接器同時建立到Broker-2和Broker-3。
| http:// localhost:8161 / admin / queues.jsp |
這是因為默認情況下,從broker-1到broker-2以及到broker-3的網絡連接器都具有“ conduitSubscriptions”屬性。
由于哪個代理3的C2和C3消耗了來自同一隊列“ moo.bar”的消息,因此在代理1中被視為一個使用方。
| 顯示消息如何從生產者傳播到消費者C1,C2,C3 |
如上所示,即使有3個使用者和30條消息,但由于C2,C3訂閱被合并到Broker-1的一個使用者中,因此每個人都無法處理10條消息。
如果我們要在主題上創建訂戶,則該管道將成為有用的設置,因為這樣可以防止出現重復消息。 在第5部分中將對此進行更多介紹。
因此,為了使隊列moo.bar上的C2和C3訂閱傳播到broker-1,讓我們在broker-1的網絡連接器配置中將conductorSubscriptions =“ false”設置為6之后,重新執行相同的步驟6、7、8、9和10。 conf / activemq.xml。
這是Broker-1的新網絡連接器配置代碼段:
<networkConnectors><networkConnectorname="Q:broker1->broker2"uri="static:(tcp://localhost:61626)"duplex="false"decreaseNetworkConsumerPriority="true"networkTTL="2"conduitSubscriptions="false"dynamicOnly="true"><excludedDestinations><topic physicalName=">" /></excludedDestinations></networkConnector><networkConnectorname="Q:broker1->broker3"uri="static:(tcp://localhost:61636)"duplex="false"decreaseNetworkConsumerPriority="true"networkTTL="2"conduitSubscriptions="false"dynamicOnly="true"><excludedDestinations><topic physicalName=">" /></excludedDestinations></networkConnector> </networkConnectors>重新啟動代理和使用者C1,C2和C3并在Broker-1的moo.bar隊列中產生30條消息后,我們發現所有三個使用者訂閱都在Broker-1上可見。 結果,broker-1以循環方式向每個使用者分發了10條消息,以實現負載平衡。 如下圖所示。
| 顯示消息如何從生產者傳播到消費者C1,C2,C3 |
Broker-1的Web控制臺@http:// localhost:8161 / admin / queueConsumers.jsp?JMSDestination = moo.bar顯示,Broker-1現在可以看到3個使用者,并向每個使用者發送10條消息。
因此,在博客系列的第4部分中,我們已經了解了如何平衡正在使用隊列中消息的遠程并發使用者。
一如既往地感謝您的意見和反饋!
在第5部分中,我們將探討如果我們使用主題而不是隊列來播放相同的場景。 敬請關注…
資源資源
- http://fusesource.com/docs/esb/4.3/amq_clustering/Networks-Connectors.html
- 此博客中使用的所有代理的配置文件(activemq.xml和jetty.xml)在此處可用。
翻譯自: https://www.javacodegeeks.com/2014/06/activemq-network-of-brokers-explained-part-4.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的ActiveMQ –经纪人网络解释–第4部分的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux系统路径配置(linux路径配
- 下一篇: 在NIO.2中使用文件和目录