activemq网络桥接_ActiveMQ –经纪人网络解释
activemq網(wǎng)絡(luò)橋接
目的
這個(gè)由7部分組成的博客系列將分享有關(guān)如何創(chuàng)建ActiveMQ代理網(wǎng)絡(luò)以實(shí)現(xiàn)高可用性和可伸縮性的信息。
為什么要建立經(jīng)紀(jì)人網(wǎng)絡(luò)?
ActiveMQ消息代理是企業(yè)中消息傳遞基礎(chǔ)結(jié)構(gòu)的核心組件。 它需要高度可用并且可以動(dòng)態(tài)伸縮,以促進(jìn)具有不同容量需求的動(dòng)態(tài)異構(gòu)分布式應(yīng)用程序之間的通信。
如今,在商用硬件上擴(kuò)展企業(yè)應(yīng)用程序已成為當(dāng)務(wù)之急。 ActiveMQ通過能夠創(chuàng)建代理網(wǎng)絡(luò)來分擔(dān)負(fù)載而很好地滿足了這一要求。
很多時(shí)候,跨地理分布的數(shù)據(jù)中心運(yùn)行的應(yīng)用程序需要協(xié)調(diào)消息。 使用代理網(wǎng)絡(luò)可以更好地設(shè)計(jì)跨地理區(qū)域/數(shù)據(jù)中心的運(yùn)行消息生產(chǎn)者和消費(fèi)者。
ActiveMQ使用傳輸連接器,通過它與消息生產(chǎn)者和使用者進(jìn)行通信。 但是,為了促進(jìn)代理之間的通信,ActiveMQ使用網(wǎng)絡(luò)連接器 。
網(wǎng)絡(luò)連接器是兩個(gè)代理之間的橋,允許按需轉(zhuǎn)發(fā)消息。
換句話說,如果代理B1啟動(dòng)到代理B2的網(wǎng)絡(luò)連接器,則如果B2上至少有一個(gè)消費(fèi)者使用同一通道,則B1上的通道(隊(duì)列/主題)上的消息將轉(zhuǎn)發(fā)到B2。 如果將網(wǎng)絡(luò)連接器配置為雙工,則消息將按需從B2轉(zhuǎn)發(fā)到B1。
這非常有趣,因?yàn)榻?jīng)紀(jì)人現(xiàn)在可以彼此動(dòng)態(tài)通信。
在這個(gè)由7部分組成的博客系列中,我們將研究以下主題,以了解這一非常強(qiáng)大的ActiveMQ功能:
為了表示應(yīng)有的信譽(yù),以下URL已幫助我創(chuàng)建了此博客文章系列。
先決條件
為了便于演示,我們將在同一臺(tái)計(jì)算機(jī)上使用多個(gè)ActiveMQ代理實(shí)例。
網(wǎng)絡(luò)連接器基礎(chǔ)知識(shí)–第1部分
下圖顯示了網(wǎng)絡(luò)連接器的功能。 它橋接兩個(gè)代理,并且如果由Broker-1建立消息,則根據(jù)需要將消息從Broker-1轉(zhuǎn)發(fā)給Broker-2。
網(wǎng)絡(luò)連接器可以是雙工的,因此消息可以沿相反的方向轉(zhuǎn)發(fā); 從Broker-2到Broker-1,一旦Broker-1上存在某個(gè)使用者,并且該使用者存在于Broker-2中。 第2部分中的更多內(nèi)容
在Broker-1和Broker-2之間設(shè)置網(wǎng)絡(luò)連接器
- 創(chuàng)建兩個(gè)代理實(shí)例,例如broker-1和broker-2
由于我們將在同一臺(tái)計(jì)算機(jī)上運(yùn)行兩個(gè)代理,因此我們將broker-2配置為沒有端口沖突。
- 編輯 /Users/akuntamukkala/apache-activemq-5.8.0/bridge-demo/broker-2/conf/activemq.xml
- 編輯 /Users/akuntamukkala/apache-activemq-5.8.0/bridge-demo/broker-2/conf/jetty.xml
- 配置從Broker-1到Broker-2的網(wǎng)絡(luò)連接器
將以下XML代碼段添加到 /Users/akuntamukkala/apache-activemq-5.8.0/bridge-demo/broker-1/conf/activemq.xml
上面的XML代碼段配置了兩個(gè)網(wǎng)絡(luò)連接器“ T:broker1-> broker2”(僅隊(duì)列中的主題除外)和“ Q:broker1-> broker2”(僅隊(duì)列中的主題除外)。 這樣可以很好地分隔用于主題和隊(duì)列的網(wǎng)絡(luò)連接器。
盡管我更喜歡指定[type]:-> [destination broker],但名稱可以是任意的。
URI屬性指定如何連接到broker-2
- 開始經(jīng)紀(jì)人2
- 開始經(jīng)紀(jì)人1
在broker-1上的日志顯示了與broker-2建立的2個(gè)網(wǎng)絡(luò)連接器
INFO | Establishing network connection from vm://broker-1?async=false&network=true to tcp://localhost:61626INFO | Connector vm://broker-1 StartedINFO | Establishing network connection from vm://broker-1?async=false&network=true to tcp://localhost:61626INFO | Network connection between vm://broker-1#24 and tcp://localhost/127.0.0.1:61626@52132(broker-2) has been established.INFO | Network connection between vm://broker-1#26 and tcp://localhost/127.0.0.1:61626@52133(broker-2) has been established.broker-1上的Web控制臺(tái)@ http:// localhost:8161 / admin / connections.jsp顯示了已建立到broker-2的兩個(gè)網(wǎng)絡(luò)連接器
broker-2上的相同內(nèi)容未顯示任何網(wǎng)絡(luò)連接器,因?yàn)閎roker-2沒有啟動(dòng)任何網(wǎng)絡(luò)連接器
讓我們看看這個(gè)動(dòng)作
讓我們在broker-1的名為“ foo.bar”的隊(duì)列上產(chǎn)生100條持久消息。
Ashwinis-MacBook-Pro:example akuntamukkala$ pwd /Users/akuntamukkala/apache-activemq-5.8.0/example Ashwinis-MacBook-Pro:example akuntamukkala$ ant producer -Durl=tcp://localhost:61616 -Dtopic=false -Ddurable=true -Dsubject=foo.bar -Dmax=100broker-1 Web控制臺(tái)顯示已將100條消息放入隊(duì)列“ foo.bar”
http:// localhost:8161 / admin / queues.jsp
讓我們在broker-2的名為“ foo.bar”的隊(duì)列上啟動(dòng)一個(gè)使用者。 這里要注意的重要一點(diǎn)是目標(biāo)名稱“ foo.bar”應(yīng)該完全匹配。
Ashwinis-MacBook-Pro:example akuntamukkala$ ant consumer -Durl=tcp://localhost:61626 -Dtopic=false -Dsubject=foo.bar我們發(fā)現(xiàn)來自broker-1的foo.bar隊(duì)列的所有100條消息都轉(zhuǎn)發(fā)到了broker-2的foo.bar隊(duì)列使用方。
位于http:// localhost:8161 / admin / queues.jsp的broker-1管理控制臺(tái)
broker-2管理控制臺(tái)@ http:// localhost:9161 / admin / queues.jsp顯示,我們啟動(dòng)的使用者已經(jīng)使用了從Broker-1按需轉(zhuǎn)發(fā)的所有100條消息
foo.bar隊(duì)列上的broker-2消費(fèi)者詳細(xì)信息
broker-1管理控制臺(tái)顯示所有100條消息都已出隊(duì)[已通過網(wǎng)絡(luò)連接器轉(zhuǎn)發(fā)到broker-2]。
“ foo.bar”隊(duì)列上的broker-1使用者詳細(xì)信息顯示該使用者是按需創(chuàng)建的:[連接器名稱] _ [目標(biāo)代理] _inbound_
因此,我們已經(jīng)了解了ActiveMQ中網(wǎng)絡(luò)連接器的基礎(chǔ)。
請繼續(xù)關(guān)注第2部分…
翻譯自: https://www.javacodegeeks.com/2014/04/activemq-network-of-brokers-explained.html
activemq網(wǎng)絡(luò)橋接
總結(jié)
以上是生活随笔為你收集整理的activemq网络桥接_ActiveMQ –经纪人网络解释的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 禽类是什么意思 禽类指什么样的动物
- 下一篇: JDK 14的征兆开始出现