4

In ActiveMQ /A-MQ 5.11, I want to build a broker topology of:

  • 4 master/slave pairs (2 in Las Vegas, 2 in New York)
  • network of brokers
  • complete graph (each master connected to all other masters)

    Documentation says each broker should connect to other master/slave groups using masterSlave URI:

<networkConnectors>
<networkConnector
   uri="masterslave:(tcp://masterHost:61002,tcp://slaveHost:61002)"/>    
</networkConnectors>

..so for this topology,

enter image description here

..the networkConnectors for master/slave pairs in Las Vegas (NY omitted for brevity) should be:

vegas-A1,A2...connected to B,C,D master/slave groups

<networkConnectors>
  <networkConnector name="groupBLink" uri="masterslave:(tcp://vegas-B1:61001,tcp://vegas-B2:61001)"/>
  <networkConnector name="groupCLink" uri="masterslave:(tcp://ny-C1:61001,tcp://ny-C2:61001)"/>
  <networkConnector name="groupDLink" uri="masterslave:(tcp://ny-D1:61001,tcp://ny-D2:61001)"/>           
</networkConnectors>

vegas-B1,B2...connected to A,C,D master/slave groups

<networkConnectors>
  <networkConnector name="groupALink" uri="masterslave:(tcp://vegas-A1:61001,tcp://vegas-A2:61001)"/>
  <networkConnector name="groupCLink" uri="masterslave:(tcp://ny-C1:61001,tcp://ny-C2:61001)"/>
  <networkConnector name="groupDLink" uri="masterslave:(tcp://ny-D1:61001,tcp://ny-D2:61001)"/>           
</networkConnectors>

Question

Is this configuration correct?

raffian
  • 31,267
  • 26
  • 103
  • 174
  • Can this be done with shared file system for all the brokers? – Abu Muhammad Sep 27 '16 at 09:46
  • A single master with `n` slaves should use a shared file system; separate NFS4 volumes for each M/S group is sufficient. Do NOT use the same shared file system across all brokers; doing so would result to single master; partition using volumes. – raffian Sep 27 '16 at 16:16
  • Nice job! In this group config what would be the urls that clients going to use ? tcp://:vegasA1, tcp://vegasA2, tcp://:vegasB1, tcp://vegasB2, ....and all needs to be listed? – Reza Farshi Mar 02 '17 at 13:07
  • @RezaFarshi Yes, you list all brokers `failover:(tcp://:vegasA1:61616, tcp://vegasA2:61616,tcp://:vegasB1:61616,...)` – raffian Mar 06 '17 at 19:57

1 Answers1

1

In case anyone is wondering, the above configuration was tested and confirmed to work for full graph/mesh networks in ActiveMQ.

raffian
  • 31,267
  • 26
  • 103
  • 174