| IP:192.168.146.129 | |||
| 集群A | 控制台 | 服務接口 | 集群通訊接口 |
| Amq1 | 8161 | 51511 | 61601 |
| Amq2 | 8162 | 51512 | 61602 |
| Amq3 | 8163 | 51513 | 61603 |
這也是最大的缺點,擴展性比較差
1、集群1的每個activemq配置如下:(集群1的url包含集群2所有的隊列信息,端口為隊列的服務端口)
<networkConnectors>
<networkConnector uri="static:(tcp://192.168.146.130:51511,tcp://192.168.1.101:51512)"/>
</networkConnectors>
<networkConnectors> <networkConnector uri="static:(tcp://192.168.146.129:51511,tcp://192.168.146.129:51512,tcp://192.168.146.129:51513)"/>
</networkConnectors>
本例使用的是點對點消息隊列的demo,使用方法請參考:
http://www.cnblogs.com/gossip/p/5970090.html
測試集群的高可用性:
1、集群1和集群2都注冊到了ZooKeeper,都有各自的Master節點

2、兩個集群中都只有Master節點的管控台才可用(下圖為集群中Master隊列收到的消息)
3、消息隨機送到不同集群的Master隊列中

4、手動停止集群2的Master隊列,生產者卡頓了一下后繼續往集群1發送消息,中間的消息並沒有中斷

5、重新啟動集群2的Master隊列后,生產者又重新向集群2的Master隊列發送消息

六、消費者從多個集群消費消息
1、只有1個消費者時,隨機從兩個集群中消費消息

2、啟動兩個不同的消費者,他們都同時從集群1、集群2的消費消息。停止其中一個消費者后不影響另外一個消費者

3、關閉集群2的一個隊列后(集群2只有兩個隊列,關閉其中1個后,整個集群都失效了),兩個消費者都只從集群1消費消息

