ActiveMQ(八)——ActiveMQ的集群

一、隊列消費者集群(Queue consumer clusters)
     ActiveMQ支持Consumer對消息高可靠性的負載平衡消費,如果一個Consumer死掉,該消息會轉發(fā)到其他的Consumer消費的Queue上。如果一個Consumer獲得消息比其它的Consumer快,那么它將獲得更多的消息。因此推薦ActiveMQ的Broker和Client使用failover://transport的方式來配置鏈接。
二、Broker的集群(Broker clusters)
     大部分情況下是使用一些列的Broker和Client鏈接到一起。如果一個Broker死掉了,Client可以自動鏈接到其它的Broker上。實現以上行為需要用failover協(xié)議作為Client。
     如果啟動了多個Broker,Client可以使用static discovery或者Dynamic discovery容易的從一個broker到另一個broker直接鏈接。
     這樣當一個broker上沒有Consumer的話,那么它的消息不會被消費,然而該broker會通過存儲和轉發(fā)的策略來把該消息發(fā)到其它的broker上。
注意:
ActiveMQ默認的兩個broker,static鏈接后是單方向的,broker-A可以訪問消費broker-B的消息,如果要支持雙向通信,需要在netWorkConnector配置的時候,設置duplex=true就可以了。
三、Master Slave
     在5.9的版本里面,廢除了Pure Master Slave的方式,目前支持:
1:Shared File System Master Slave:基于共享存儲的Master-Slave,多個broker實例使用一個存儲文件,誰拿到文件鎖就是master,其他處于待啟動狀態(tài),如果master掛掉了,某個搶到文件鎖的slave變成master
2:JDBC Master Slave:基于JDBC的Master-Slave,使用同一個數據庫,拿到LOCK表的寫鎖的broker成為master
3:Replicated LevelDB Stroe:基于ZooKeeper復制LevelDB存儲的Master-Slave機制,這個是5.9新加的
詳情:http://activemq.apache.org/masterslave.html

專注于為中小企業(yè)提供做網站、成都網站建設服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)績溪免費做網站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯網行業(yè)人才,有力地推動了上千余家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網站建設實現規(guī)模擴充和轉變。

  • JDBC Master Slave的方式
    利用數據庫作為數據源,采用Master/Slave模式,其中在啟動的時候Master首先獲得獨有鎖,其它Slaves Broker則等待獲取獨有鎖
         推薦客戶端使用Failover來連接Brokers。
    如圖所示:
    ActiveMQ(八)——ActiveMQ的集群
  • Master失敗
         如果Master失敗,則它釋放獨有鎖,其他Slaver則獲取獨有鎖,其他Slaver立即獲得獨有鎖后此時它將變成Master,并且啟動所有的傳輸連接。同時,Client將停止連接之前的Master和將會輪詢連接到其他可用利用的Broker,即新Master。如上中圖所示
  • Master重啟
         任何時候去啟動新的Broker,即作為新的Slaver來加入集群,如上右圖所示
  • JDBC Master Slaver的配置
         使用<jdbcPersistenceAdapter/>來配置消息的持久化,自動就會使用JDBC Master Slave的方式。

本文題目:ActiveMQ(八)——ActiveMQ的集群
本文來源:http://muchs.cn/article46/ieggeg.html

成都網站建設公司_創(chuàng)新互聯,為您提供服務器托管、網站排名、移動網站建設、動態(tài)網站、營銷型網站建設網站內鏈

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

小程序開發(fā)