Hi folks,

in the context of a JBoss cluster made of two nodes we need to deploy a
highly scalable and available ActivemQ broker configuration (where, in
general terms, availability is more critical that scalability), more
specifically:

*  at any given time we need to have at least one broker up and running
   (this rules out single broker configs with simple failover,
   because during failover we would experience a short outage)

*  we need to avoid "marooned messages", i.e. messages stuck for
   a long time in the msgstore of a failed broker

To cope with this we thought that a good trade off between complexity and
QoS could be struck with configuration like this (see also this picture for
reference
https://drive.google.com/open?id=0B2XgknIKxrATVWt3YnF3eGFUcWs&authuser=0):

*  There are two brokers: BrkA at Node1 (using MsgStoreA for its
persistence)
   and BrkB at Node2 (using MsgStoreB for its persistence)

*  The two brokers are connected together via a network of brokers

*  Each broker is also configured in a master/slave fashion
   with the slave instance allocated on the "other" node
   (e.g. Node2 for BrkA and Node1 for BrkB)
   in order to mitigate the marooned message problem

In this context we can assume that at least one broker is fully operational
(i.e. not temporarily offline because of an in progress failover) and no
message is left behind for more than a very short time on a msgstore not
"served" by a broker.

Questions:

Q1\ Is this approach a viable one?

Q2\ Are there better ways of obtaining a similar QoS (better in the sense
of ...more simple and/or more robust and/or more standard)

Q3\ Are there any specific recommendations on which msgstore "flavor" to
pick up for a scenario like this?

Q4\ Is there a way to specify a "preferred active node" for master/slave?
...if there is not, we risk having both BrkA and BrkB running on, say,
Node1 and leaving Node2 unexploited (the problem here is not about
suboptimal balancing, but about having a short outage in case Node1 crashes
and both BrkA and BrkB will need to failover to Node2 at the same time).

Thanks in advance for any insights and advice you will share.

Cheers,
F.

Reply via email to