日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

activemq网络桥接_ActiveMQ –经纪人网络解释–第4部分

發(fā)布時間:2023/12/3 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 activemq网络桥接_ActiveMQ –经纪人网络解释–第4部分 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

activemq網(wǎng)絡(luò)橋接

在前面的第3部分中 ,我們已經(jīng)看到ActiveMQ如何幫助將遠程使用者與本地使用者區(qū)分開來,這有助于確定從消息生產(chǎn)者到使用者的較短路徑。

在第4部分中,我們將研究如何在遠程代理上負載均衡并發(fā)使用者。

讓我們考慮一些高級配置,以平衡遠程代理中隊列上的并發(fā)消息使用者,如下所示。

第四部分–經(jīng)紀人網(wǎng)絡(luò)

在以上配置中,我們有一個消息生成器,將消息發(fā)送到Broker-1上的隊列moo.bar中。 Broker-1建立到Broker-2和Broker-3的網(wǎng)絡(luò)連接器。 消費者C1使用來自代理2上隊列moo.bar的消息,而消費者C2和C3是代理3上隊列moo.bar上的并發(fā)消費者。

讓我們看看這個動作

讓我們創(chuàng)建三個經(jīng)紀人實例…

  • Ashwinis-MacBook-Pro:bin akuntamukkala $ pwd / Users / akuntamukkala / apache-activemq-5.8.0 / bin
  • Ashwinis-MacBook-Pro:bin akuntamukkala $。/ activemq-admin創(chuàng)建../cluster/broker-1
  • Ashwinis-MacBook-Pro:bin akuntamukkala $。/ activemq-admin創(chuàng)建../cluster/broker-2
  • Ashwinis-MacBook-Pro:bin akuntamukkala $。/ activemq-admin創(chuàng)建../cluster/broker-3
  • 通過修改相應(yīng)的conf / activemq.xml和conf / jetty.xml來修復(fù)broker-2和broker-3傳輸,amqp連接器和jetty http端口,如下所示:
    經(jīng)紀人 Openwire端口 碼頭HTTP端口 AMQP端口
    經(jīng)紀人1 61616 8161 5672
    經(jīng)紀人2 61626 9161 5682
    經(jīng)紀人3 61636 10161 5692

  • 修復(fù)broker-1上的網(wǎng)絡(luò)連接器,以便可以將隊列中的消息動態(tài)轉(zhuǎn)發(fā)給broker-2和broker-3上的使用者。 可以通過將以下XML代碼段添加到broker-1的conf / activemq.xml中來完成此操作 <networkConnectors><networkConnectorname="Q:broker1->broker2"uri="static:(tcp://localhost:61626)"duplex="false"decreaseNetworkConsumerPriority="true"networkTTL="2"dynamicOnly="true"><excludedDestinations><topic physicalName=">" /></excludedDestinations></networkConnector><networkConnectorname="Q:broker1->broker3"uri="static:(tcp://localhost:61636)"duplex="false"decreaseNetworkConsumerPriority="true"networkTTL="2"dynamicOnly="true"><excludedDestinations><topic physicalName=">" /></excludedDestinations></networkConnector></networkConnectors>
  • 啟動broker-2,broker-3和broker-1。 我們可以按任何順序啟動它們。
  • /apache-activemq-5.8.0/cluster/broker-3/bin$ ./broker-3控制臺
  • /apache-activemq-5.8.0/cluster/broker-2/bin$ ./broker-2控制臺
  • /apache-activemq-5.8.0/cluster/broker-1/bin$ ./broker-1控制臺
  • 讓我們在代理2上啟動使用者C1,在代理3上啟動消費者C2,在代理3上啟動C3,但在稱為“ moo.bar”的同一隊列中
  • /apache-activemq-5.8.0/example$ ant消費者-Durl = tcp:// localhost:61626 -Dsubject = moo.bar
  • /apache-activemq-5.8.0/example$螞蟻使用者-Durl = tcp:// localhost:61636 -Dsubject = moo.bar -DparallelThreads = 2

    消費者訂閱由代理2和代理3轉(zhuǎn)發(fā)到其相鄰的代理1,代理1具有通過使用咨詢消息為代理2和代理3建立的網(wǎng)絡(luò)連接器。

  • 讓我們回顧一下代理Web控制臺以查看隊列和相應(yīng)的使用者。
  • 我們發(fā)現(xiàn)broker-2的Web控制臺顯示一個隊列“ moo.bar”有1個使用者,broker-3的Web控制臺顯示一個隊列“ moo.bar”有2個并發(fā)使用者
  • 盡管有三個消費者(代理2上的C1和代理3上的C2,C3),但是代理1僅看到兩個消費者(分別代表代理2和代理3)。

    http:// localhost:8161 / admin / queues.jsp


  • 這是因為默認情況下,從broker-1到broker-2以及到broker-3的網(wǎng)絡(luò)連接器都具有“ conduitSubscriptions”屬性。
    由于使用了來自同一隊列“ moo.bar”的消息的代理3的C2和C3被視為代理1中的一個使用方。

  • 讓我們將30條消息生成到broker-1的隊列moo.bar中,并查看消息如何在使用者C1,C2和C3之間劃分:
    顯示消息如何從生產(chǎn)者傳播到消費者C1,C2,C3
  • 如上所示,即使有3個使用者和30條消息,但由于C2,C3訂閱被合并到Broker-1的一個使用者中,因此他們每條消息都無法處理10條消息。

    如果我們要在主題上創(chuàng)建訂閱者,則該管道將是有用的設(shè)置,因為這樣可以防止出現(xiàn)重復(fù)消息。 在第5部分中對此有更多的了解。

    因此,為了使隊列moo.bar上的C2和C3訂閱傳播到broker-1,讓我們在broker-1的網(wǎng)絡(luò)連接器配置中將conductorSubscriptions =“ false”設(shè)置為6之后重新執(zhí)行相同的步驟6、7、8、9和10。 conf / activemq.xml。

    這是Broker-1的新網(wǎng)絡(luò)連接器配置代碼段:

    <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隊列中產(chǎn)生30條消息后,我們發(fā)現(xiàn)所有三個使用者訂閱都在Broker-1上可見。 結(jié)果,broker-1以循環(huán)方式向每個使用者分發(fā)了10條消息,以實現(xiàn)負載平衡。 如下圖所示。

    顯示消息如何從生產(chǎn)者傳播到消費者C1,C2,C3


    Broker-1的Web控制臺@http:// localhost:8161 / admin / queueConsumers.jsp?JMSDestination = moo.bar顯示,Broker-1現(xiàn)在可以看到3個使用者,并向每個使用者發(fā)送10條消息。

    因此,在博客系列的第4部分中,我們已經(jīng)了解了如何平衡正在使用隊列中消息的遠程并發(fā)使用者。

    一如既往地感謝您的意見和反饋!

    在第5部分中,我們將探討如果使用主題而不是隊列來播放同一場景。 敬請關(guān)注…

    資源資源

    • 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網(wǎng)絡(luò)橋接

    總結(jié)

    以上是生活随笔為你收集整理的activemq网络桥接_ActiveMQ –经纪人网络解释–第4部分的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。