activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pieter C <>
Subject Questions about network of brokers with failover
Date Wed, 20 Oct 2010 07:46:56 GMT

Hi ActiveMQ, 

I'm trying to make a setup with four brokers, two on side A and two on side
B for high availability. So at each side one broker is active, the other one
is waiting for the kahadb-lock of a shared disk.  In between side A and B
the brokers connect with failover through SSL.  The producers and consumers
in side A and B connect via failover through openwire.  Producers, consumers
and brokers use ActiveMQ 5.4.1

The happy-path works fine, but because of the network of brokers the
producer at side A gets informed about the openwire connection at side B (I
debugged the source and it happens via a BrokerInfo object that is
transferred to the producer during the startup of the connection).  During a
failover the producer at side A, who is producing to a failover string,
suddenly tries (and succeeds) to connect to the openwire port of a broker at
side B.  This is not the behavior I want, the consumer should only know
about the connections at side A, not about the SSL connections between A and
B and the openwire connection at side B.  Is there a way to let the network
not propagate the topology of the network?  For the borkers and for the
clients?  This problem could be solved via firewall settings but there must
be a cleaner way?

Some smaller questions:
- What does the parameter trackMessages of the failover uri do exactly?  I
use this because I thought it was logic that it should be true.  In a
transactional connection I sometimes lose a complete transaction during
failover, this happens less with the trackMessages on true.
- Am I correct in saying that when you use a transactional connection, the
producer (eg java program) should handle the TransactionRolledBackException
you get during a failover itself?
- I think the bug AMQ-2803 still exists in 5.4.1, the zombie messages,
because after a failover (while sending eg 1000 messages to a queue) the
pending message size stays one or two (connection is not transactional)
- Should the producer and consumer use a failover uri?  Or can it just
contain the two openwire connections?

I could be wrong, but it’s difficult to get a good grip on the stability of
this complete failover setup, and that is just what I need, stability!

Thanks in advance 

View this message in context:
Sent from the ActiveMQ - User mailing list archive at

View raw message