activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Strachan" <>
Subject Re: Topology for resilience and failover
Date Tue, 04 Apr 2006 08:50:32 GMT
On 4/4/06, Meeraj Kunnumpurath <> wrote:
> Hi,
> We are planning to use ActiveMQ standalone (for transactional and
> persistent messaging) with the JMS clients running on a cluster of
> Weblogic servers. We are using the ACtiveMQ JCA adaptor to enlist JMS
> access within the WLS transaction manager. I would highly appreciate it,
> if someone could please answer the following questions.
> 1. What is the best configuration for clustering ActiveMQ to provide
> throughput and failover.

For maximum throughput, if you can avoid XA then go for it...

Other than that - make sure you use the high performance journal with
ActiveMQ (which is enabled by default).

You can increase throughput of XA using batching; to batch messages
together into a single XA transaction - which shares the cost of the
XA protocol across many messages. Though be a little careful that your
other XA resources can handle it - such as your database with locking

For failover; there are 2 things to consider. Client side failover
(when a broker fails to make the client reconnect and resume any
in-flight messages etc). Thats pretty simple and lightweight using the
failover: transport on the client.

By default if you are using either separate brokers or brokers
networked together in a demand-forwarding network; a message exists on
one broker at any point in time until its consumed by a client. So if
a broker goes down; it needs to be restarted (from the persistent disk
files) to be able to recover messages and send them on their way.

If you want to deal with catastrophic hardware failure (loosing disks)
- assuming you have no SAN/RAID hardware - then we have a Master/Slave
configuration which ensures that every message is replicated onto a
slave broker so there are 2 physical copies at any point in time -
then the master can failover to the slave.

But this does affect throughput. So its all a balancing act between
throughput, latency, reliability and risk etc

> 2. Which of the ActiveMQ persistent files (journals, tlogs etc) need to
> be stored on fault-tolerant hardware to enable XA recovery from
> catastrophic failures like disk crashes?

All of them :)

So the ActiveMQ journal, its long term persistent JDBC store (such as
the default Derby files or some other DB if you prefer). Also your WLS
transaction manager log as well.



View raw message