大家好好久沒有寫筆記代碼了,今天我來了帶給大家一個分享。不懂的地方加我的微信kotlin
機器列表
•192.168.100.242
•192.168.100.243
爲了保證機器之間網絡互通,建議關閉防火牆:systemctl stop firewalld.service
Static靜態集羣部署方式
static 方式就是在broker的配置中,靜態指定要連接到其它broker的地址,格式:
<networkConnector uri="static:(tcp://host1:61616,tcp://host2:61616)"/>
說明: host1、host2表示連接目標的地址,61616是連接目標開放的端口。修改配置前,先停止activemq
一、修改配置文件
1.修改192.168.100.242上的/var/activemq/conf/activemq.xml,在標籤中添加以下代碼
<networkConnectors>
<networkConnector uri="static:(tcp://192.168.100.243:61616)"/>
</networkConnectors>
1.修改192.168.100.243上的/var/activemq/conf/activemq.xml,在標籤中添加以下代碼
<networkConnectors>
<networkConnector uri="static:(tcp://192.168.100.242:61616)"/>
</networkConnectors>
三、驗證
1.啓動所有broker
2.查看日誌中是否有WARN等警告/錯誤信息。 tail -f /var/activemq/data/activemq.log
3.所有的broker都啓動後,可以在web管理界面的Networky頁面可以看到連接信息。
4.將生產者與消費者分別連接到不同的節點上,看生產者發送的消息,在消費者中能不能收到。
Dynamic自動發現集羣部署方式
ActiveMQ 通過組播方式將自己的信息發送出去,接收到的信息的機器再來連接這個發送源。默認情況下,ActiveMQ 發送的是機器名,可以通過配置修改成發送IP地址。注意機器間的網絡。
一、修改配置文件
1.修改每臺機器上的/var/activemq/conf/activemq.xml,在標籤中添加以下代碼
<networkConnectors>
<networkConnector uri="multicast://default"/>
</networkConnectors>
2.修改transportConnector,增加discoveryUri屬性,並添加publishedAddressPolicy
<transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&wireFormat.maxFrameSize=104857600" discoveryUri="multicast://default">
<publishedAddressPolicy>
<publishedAddressPolicy publishedHostStrategy="IPADDRESS"></publishedAddressPolicy>
</publishedAddressPolicy>
</transportConnector>
驗證方式和上面的靜態方式一致