早期 2 節點 HA(Networks of Brokers)在壓力增長時擴展為多節點。若採用**全互聯**(每兩節點直連),消息路由路徑呈指數級增長:

中心 Hub 與所有邊緣 Broker 直連,消息最多經 3 個 Broker,延遲穩定。但 Hub 掛掉全叢集癱瘓。

failover:(tcp://hub1,tcp://hub2))。failover:(tcp://b1,tcp://b2,tcp://b3))。
activemq1: 61616 (broker1) activemq2: 61626 (broker2) activemq3: 61636 (broker3) activemq4: 61646 (broker-hub1) activemq5: 61656 (broker-hub2)
<broker xmlns="https://activemq.apache.org/schema/core" brokerName="broker1">
<persistenceAdapter>
<kahaDB directory="${activemq.data}/kahadb"/>
</persistenceAdapter>
<transportConnectors>
<transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
</transportConnectors>
</broker>
<broker brokerName="broker-hub1">
<networkConnectors>
<networkConnector uri="static:(tcp://127.0.0.1:61656,tcp://127.0.0.1:61616,tcp://127.0.0.1:61626,tcp://127.0.0.1:61636)" duplex="true"/>
</networkConnectors>
<persistenceAdapter><kahaDB directory="${activemq.data}/kahadb"/></persistenceAdapter>
<transportConnectors>
<transportConnector name="openwire" uri="tcp://0.0.0.0:61646?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
</transportConnectors>
</broker>
<networkConnector uri="static:(tcp://127.0.0.1:61616,tcp://127.0.0.1:61626,tcp://127.0.0.1:61636)" duplex="true"/>
生產者:
<property name="brokerURL" value="failover:(tcp://localhost:61646,tcp://localhost:61656)"/>
消費者:
<property name="brokerURL" value="failover:(tcp://localhost:61616,tcp://localhost:61626,tcp://localhost:61636)"/>