ActiveMQ叢集有兩種方式
- Master-Slave
- Broker clusters
兩種方式的優缺點:
高可用 | 負載均衡 | |
Master-Slave | 是 | 否 |
Broker clusters | 否 | 是 |
既能高可用,又有負載的配置方案:
節點B與節點C組成master-slave叢集,節點B與節點C分别與A組成Broker clusters叢集。節點配置如下圖,節點B、C通過共享檔案鎖競争master。
服務端口 | 管理端口 | 存儲 | 網絡連機器 | 用途 | |
A | 61616 | 8161 | B,C | 消費者 | |
B | 61617 | 8162 | /share/hadb | A | 生産者、消費者 |
C | 61618 | 8163 | /share/hadb | A | 生産者、消費者 |
詳細配置過程如下:
1、下載下傳activemq,解壓,在/usr/lcoal/activemq 下建立三個檔案夾activemq-a,activemq-b,activemq-c,将解壓後的内容複制到三個檔案夾。
2、修改配置檔案,打開activemq-a下的conf/activemq.xml,按照下圖進行修改
3、修改配置檔案,打開activemq-b下的conf/activemq.xml,同上注釋掉不用的部分,添加網絡連接配接器,同時修改持久化配置和修改服務端口
4、修改配置檔案,修改配置檔案,打開activemq-b下的conf/jetty.xml中的端口改為8162
5、同樣的方法修改activemq-c下的兩個配置檔案,将服務端口改為61618,管理端口改為8163
6、啟動這三個activemq,分别是
./activemq-a/bin/activemq start ./activemq-b/bin/activemq start ./activemq-c/bin/activemq start
7、檢視三個服務啟動情況
8、檢視端口啟動情況,可以看到61618端口沒有啟動,因為B和C組成的master-slave機制,B節點已經啟動,是以C節點未啟動服務。
9.我們停止B節點,同時在檢視61618端口情況,可以看到61618端口啟動服務。
10、通路http://ip:8161,http://ip:8162,http://ip:8163,這時候會發現8162端口無法打開。8162和8163隻能同時啟動一個。進入Manage ActiveMQ broker,使用者名密碼都是admin點選network可以看到負載機器