activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Meeraj Kunnumpurath" <M.Kunnumpur...@voca.com>
Subject RE: Topology for resilience and failover
Date Tue, 04 Apr 2006 08:58:37 GMT
Thanks James. 

-----Original Message-----
From: James Strachan [mailto:james.strachan@gmail.com] 
Sent: 04 April 2006 09:51
To: activemq-users@geronimo.apache.org
Subject: Re: Topology for resilience and failover

On 4/4/06, Meeraj Kunnumpurath <M.Kunnumpurath@voca.com> 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...
http://activemq.org/Should+I+use+XA

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
etc.
http://activemq.org/Activation+Spec+Properties


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.

http://activemq.org/MasterSlave

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.

--

James
-------
http://radio.weblogs.com/0112098/

This message has been checked for all email viruses by MessageLabs.




*****************************************************

    You can find us at www.voca.com

*****************************************************
This communication is confidential and intended for 
the exclusive use of the addressee only. You should 
not disclose its contents to any other person.
If you are not the intended recipient please notify 
the sender named above immediately.

Registered in England, No 1023742,
Registered Office: Voca Limited
Drake House, Three Rivers Court,
Homestead Road, Rickmansworth,
Hertfordshire, WD3 1FX


This message has been checked for all email viruses by MessageLabs.

Mime
View raw message