简体   繁体   中英

JMS Clustering: active/passive

We host a clustered application server with a standalone clustered JMS server. The application server is active/active and loadbalanced while the JMS server is active/passive (shared storage) and uses OS clustering. This means from the client perspective there is only one endpoint for each.

Now we are tasked with connecting to an outside JMS cluster (active/passive) but it appears that they expect us to implement a failover in our JMS client, in other words: connect to the primary if possible, failover to the secondary if necessary.

At the risk of sounding ignorant, I have never seen such a setup but some googling seems to indicate that this appears to be more or less standard practice for JMS.

My question then is: why do JMS providers seem to prefer "client side clustering" if you will as opposed to classic load balancing or other server side clustering methods? Is it indeed an industry standard?

For now I run multiple Open MQ with MySQL Cluster see on this link (http://mq.java.net/OpenMQ_MySQLCluster_Setup_Guide.html)

For this server topology you can connect to any node (broker 1, broker2) if you run on EJB container just config (depend on what middle tier you used) when some node died it will auto switch by container.

I have only ever used active/active clustering with JMS where both servers get every message (they talk to each other to stay in sync). They didn't share a disk sub systems as they were in differnet data centers. The client is configured with two servers though it only connects to one at a time. (Usually the local JMS server) Fail over is transparent to the client.

I have also seen configurations with two local server and one non-local server so that failure of one server doesn't require connecting across a WAN to another data center. I haven't set such a configuration up myself.

Using shared storage sounds cool for a system adminstrator, but has the disadvantage that is it is less than transparent to the software. If you have an application supports fail over of its own, that is preferable IMHO. ie I would only use shared storage if the service didn't have fail over.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM