1. 程式人生 > >六、AcriveMQ集群配置的三種方式,以及組合實現

六、AcriveMQ集群配置的三種方式,以及組合實現

nec 隨機 brush ast 一個隊列 項目 uri 文件 rand

AcriveMQ集群配置

·實現高可用,以排除單點故障引起的服務中斷

·實現負載均衡以提升效率為更多客戶提供服務

集群方式

·客戶端集群:讓多個消費者消費同一個隊列

·boker cluster集群:讓多個Boker之間同步消息

·Master Slave集群:高可用

AcriveMQ失效轉移(failover

允許當其中一臺消息服務器宕機時,哭護短在傳輸層上重新連接到其它服務器

技術分享圖片

技術分享圖片

、boker cluster集群

技術分享圖片

靜態連接器(使用於拓展少,服務器少)

技術分享圖片

動態連接器

技術分享圖片

二、Master Slave集群

技術分享圖片

技術分享圖片

技術分享圖片

boker cluster集群+Master Slave集群的實現方案

技術分享圖片

技術分享圖片

在這裏B和C進行了master slave 集群,並且B和A,C和A之間又進行了Broker Closter集群方案

技術分享圖片

技術分享圖片

1、解壓三個activeMQ安裝包,新建一個共享文件夾(後續修改持久化方案用的該路徑)

2、activemq.xml 中修改A節點服務端口

<!-- 配置網絡連接項目 -->
<networkConnectors>
   <networkConnector name="local_network" uri="static:(tcp://127.0.0.1:61617,tcp://127.0.0.1:61618)"/>
</networkConnectors>

  

3.在jetty.xml中配置管理端端口

<property name="port" value="8163"/>

  

4.把相應B、C節點配置為master.slave

修改持久化方案地址

<persistenceAdapter>
    <kahaDB directory="D:/apache/activemq/kahadb"/>
</persistenceAdapter>

  

5.配置B、C生產者隨機轉移策略

private static final String url = "failover:(tcp://127.0.0.1:61617,tcp://127.0.0.1:61618)?randomize=true";

  

6.配置A\B、C消費者隨機轉移策略

private static final String url = "failover:(tcp://127.0.0.1:61616,tcp://127.0.0.1:61617,tcp://127.0.0.1:61618)?randomize=true";

  

六、AcriveMQ集群配置的三種方式,以及組合實現