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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

分布式ActiveMQ集群--转载

發(fā)布時間:2025/4/5 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 分布式ActiveMQ集群--转载 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

原文地址:http://shensy.iteye.com/blog/1752529

回顧總結(jié)前一段時間學(xué)習(xí)的ActiveMQ分布式集群相關(guān)的知識,分享出來希望對看到的人有所幫助。

一、分布式ActiveMQ集群的部署配置細(xì)節(jié):

官方資料:http://activemq.apache.org/clustering.html

基本上看這個就足夠了,本文就不具體分析配置文件了。

1、Queue consumer clusters:

同一個queue,如果一個consumer失效,那么未被確認(rèn)的消息都會被發(fā)送到這個queue的其它c(diǎn)onsumer上。

如果某個consumer處理消息比較快,那么它將處理更多的消息。

(Queue consumer clusters 不需要特殊的配置。)

2、Master-Slave高可用性:

主要目的是實(shí)現(xiàn)AMQ的高可用性和容錯,如果某broker掛了,需要等待它重啟才能繼續(xù)處理消息。而如果消息被復(fù)制到slave上,在當(dāng)master掛了時,可以直接切換到slave導(dǎo)致消息不會丟失。分為3種形式:

(1)pure master-slave。

該方式已經(jīng)逐漸被淘汰:http://activemq.apache.org/pure-master-slave.html

(2)Shared File System Master Slave。

官方資料:http://activemq.apache.org/masterslave.html

利用共享文件系統(tǒng):當(dāng)多臺機(jī)器上都部署了AMQ時,指定這些機(jī)器的一個共享的文件路徑作為存儲。

存儲默認(rèn)是基于AMQ的kahaDB(底層是文件系統(tǒng))實(shí)現(xiàn)。

當(dāng)一個AMQ實(shí)例獲得了共享文件的鎖,這個實(shí)例就成為了Master,其它實(shí)例即為Slave。如果這時Master掛了,其它AMQ實(shí)例會競爭共享文件的鎖,獲得鎖的就成為Master,其它實(shí)例還是Slave。部署時Slave沒有限制數(shù),而且自動切換Master不需要人工干預(yù)。(官方資料有詳細(xì)的過程圖片介紹)

(3)JDBC Master Slave。

官方資料:http://activemq.apache.org/masterslave.html

其實(shí)與Shared File System一樣,只是把共享文件系統(tǒng)換成數(shù)據(jù)庫作為存儲。方便實(shí)用,但要保證數(shù)據(jù)庫的高可用性。

3、Broker Cluster中的靜態(tài)與動態(tài)發(fā)現(xiàn):

如何讓一個broker知道網(wǎng)絡(luò)上的其它多個broker呢?主要分為靜態(tài)發(fā)現(xiàn)和動態(tài)發(fā)現(xiàn)兩種類型:

(1)The Static Transport(靜態(tài)發(fā)現(xiàn),包括failover協(xié)議)。

官網(wǎng)資料:http://activemq.apache.org/static-transport-reference.html

所謂靜態(tài)發(fā)現(xiàn):就是將所有已知的broker uri連接時手工進(jìn)行配置,對client端uri地址做相應(yīng)修改。

關(guān)于failover:

當(dāng)一個client連接到某個broker,而這個broker掛了,客戶端就需要自動連接到網(wǎng)絡(luò)上其它已知的broker上。

AMQ使用failover協(xié)議實(shí)現(xiàn)該功能,但需要在client連接時將所有broker以硬編碼的形式進(jìn)行配置。

AMQ的failover協(xié)議官方資料:http://activemq.apache.org/failover-transport-reference.html

(2)The Discovery Transport(動態(tài)發(fā)現(xiàn))。

官網(wǎng)資料:http://activemq.apache.org/static-transport-reference.html

所謂動態(tài)發(fā)現(xiàn),就是部署前不需要知道所有AMQ實(shí)例的uri地址,只要進(jìn)行相關(guān)配置,啟動后讓AMQ自己檢測。

需要修改AMQ配置文件,同時client端連接uri地址也要相應(yīng)修改。

4、Network of Broker:

主要目的是實(shí)現(xiàn)負(fù)載均衡,提高消息處理能力。

一個client1連接broker1發(fā)送消息,另一個client2連接broker2消費(fèi)消息,這時就需要將broker1上的消息路由到broker2上。而當(dāng)broker2上的consumer掛了,也需要將消息轉(zhuǎn)發(fā)到其它的有consumer的broker上,避免消息大量堆積無法處理,目前的解決方案是Network of Broker。

官方資料:http://activemq.apache.org/networks-of-brokers.html

?

本文主要對ActiveMQ分布式集群相關(guān)知識進(jìn)行整理總結(jié),具體配置過程見上文中的官方資料,很詳細(xì)的。

?

網(wǎng)上一些不錯的參考資料:

?

http://www.doc88.com/p-086413647667.html

http://wenku.baidu.com/view/d0cd7757ad02de80d4d8408a.html

http://bh-keven.iteye.com/blog/1617788

轉(zhuǎn)載于:https://www.cnblogs.com/davidwang456/p/4475445.html

總結(jié)

以上是生活随笔為你收集整理的分布式ActiveMQ集群--转载的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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