Broker/Cluster Message Persistence and Replication
I am evaluating the Sun JMS MQ implementation and I am trying to determine if messages sent to a Broker within a Cluster are replicated to different Brokers and as such the different Brokers' persistence message stores?
I what a HA solution that has no single point of failure within a site (and ultimately across sites, but let's focus on a single site to start with). I need the replication to ensure that if Broker-A goes down the message is still available and can be consumed via Broker-B; and not relying on Broker-A being restarted.
There is a statement within the Technical Overview document that might suggest that what I am looking for is not possible. It says...
"Note that broker clusters provide service availability but not data availability. If one broker in a cluster fails, clients connected to that broker can reconnect to another broker in the cluster but may lose some data while they are reconnected to the alternate broker."
If I am not asking to much already any cases studies, blue prints etc. would be nice. But simple answers to this question will also get my deep thanks.
Regards
Paul
# 1
> "Note that broker clusters provide service
> availability but not data availability. If one broker
> in a cluster fails, clients connected to that broker
> can reconnect to another broker in the cluster but
> may lose some data while they are reconnected to the
> alternate broker."
Yes, that's clustering. Messages are stored-and-forwarded. If the broker where the message is stored goes down, it is not available until the broker restarts.
What you are looking for is high availability where messages from the active instance are synchronously replicated to a standby instance. In the failover case the JMS clients tranparently reconnect and operation continues.
I don't know if Sun IMQ provides that but I do know that SwiftMQ does that very well:
http://www.swiftmq.com/products/harouter/introduction/index.html
Full docs start here:
http://www.swiftmq.com/products/harouter/index.html
-- Andreas
# 2
Thank you for the response. I also posted to the Sun JMS forum, and the answer I had there was the same as yours; It is not an HA solution.
I will have a look at your links. I am also considering JMS Grid which does have HA features; it only scales to two Brokers (or Daemons) within a cluster and does not use a database; as such inter-site replication is problematic. It may be that we look at file replication to solve that.
For the record the other forum post is here http://forum.java.sun.com/thread.jspa?threadID=5177874
Thanks again,
Paul.
# 3
If you want to test SwiftMQ HA Router, just send an eMail to presales@swiftmq.com and we will generate you a 30 days eval.
Here are some other links you might be interested in:
Executive Summary (explains all features at a glance):
http://www.swiftmq.com/exec-summary-eng.pdf
Federated Router Network (to connect different sites via routing connections):
http://www.swiftmq.com/products/router/swiftlets/sys_routing/introduction/index.html
Clustered Queues:
http://www.swiftmq.com/products/router/swiftlets/sys_queuemanager/clusteredqueues/introduction/index.html
And, of course, we have dynamic subscription exchange in pub/sub etc pp:
http://www.swiftmq.com/products/router/swiftlets/sys_topicmanager/index.html
All that can be combined with HA.
-- Andreas