|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Load balancing in cluster and ResolvedQName |
« View previous topic :: View next topic » |
Author |
Message
|
chrisl_l |
Posted: Tue Apr 06, 2010 7:08 am Post subject: Load balancing in cluster and ResolvedQName |
|
|
Newbie
Joined: 06 Apr 2010 Posts: 4
|
Hi,
We've got a cluster setup with 3 Queue Managers QM00, QM01 & QM02.
QM01 & QM02 have local queues defined called MQ01 [for example].
QM00 has MQ01 defined as remote queues on both QM01 and QM02, therefore providing load balancing.
Our application connects to QM00, specifying the MQOO_RESOLVE_LOCAL_Q option, and posts to MQ01. This populates the ResolvedQName in the MQOD structure, with the name of the local Queue Manager the message was posted to (in our case either QM01 or QM02).
My question is, is this guaranteed to be the local queue the message is actually delivered to? Or are there circumstances (i.e. tranmission failure), where it may be re-routed elsewhere in the cluster after the post request has returned a queue manager name to the application?
If this is better placed in the programming forum, please feel free to move it. |
|
Back to top |
|
 |
Vitor |
Posted: Tue Apr 06, 2010 7:32 am Post subject: Re: Load balancing in cluster and ResolvedQName |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
chrisl_l wrote: |
QM00 has MQ01 defined as remote queues on both QM01 and QM02, therefore providing load balancing. |
Why? You'd get the same effect with just the local queues on the cluster, though:
chrisl_l wrote: |
Our application connects to QM00, specifying the MQOO_RESOLVE_LOCAL_Q option, and posts to MQ01. This populates the ResolvedQName in the MQOD structure, with the name of the local Queue Manager the message was posted to (in our case either QM01 or QM02). |
I accept that wouldn't work without remote queue definitions. Though I don't see from the information provided (or general experience) why the putting application would want to know which instance the message ended up on.
chrisl_l wrote: |
My question is, is this guaranteed to be the local queue the message is actually delivered to? Or are there circumstances (i.e. tranmission failure), where it may be re-routed elsewhere in the cluster after the post request has returned a queue manager name to the application? |
This will be the queue it will be delivered to. In the event of a transmission failure or queue manager crash, the message will sit on the transmit queue until connectivity is restored and it can be delivered. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
chrisl_l |
Posted: Wed Apr 07, 2010 8:37 am Post subject: Re: Load balancing in cluster and ResolvedQName |
|
|
Newbie
Joined: 06 Apr 2010 Posts: 4
|
Vitor, thanks for your detailed response.
Vitor wrote: |
Why? You'd get the same effect with just the local queues on the cluster, though:
|
The QM00 server is Windows clustered to provide failover, whereas QM01 & QM02 servers are not. This is per design due to the services the QM01 and QM02 servers provide.
Vitor wrote: |
I accept that wouldn't work without remote queue definitions. Though I don't see from the information provided (or general experience) why the putting application would want to know which instance the message ended up on.
|
The current application design is request/response, but built without the knowledge of the limitations of clustered remote queues (i.e. no GET's). I've been tasked with exploring the available alternatives/solutions.
Vitor wrote: |
This will be the queue it will be delivered to. In the event of a transmission failure or queue manager crash, the message will sit on the transmit queue until connectivity is restored and it can be delivered. |
Thanks, that's the answer I've been searching for. Hopefully we won't go down this route, but you never know.
Thanks again,
Chris. |
|
Back to top |
|
 |
Vitor |
Posted: Wed Apr 07, 2010 8:44 am Post subject: Re: Load balancing in cluster and ResolvedQName |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
chrisl_l wrote: |
The QM00 server is Windows clustered to provide failover, whereas QM01 & QM02 servers are not. This is per design due to the services the QM01 and QM02 servers provide. |
I still don't see why you need remote queues. But I'll add it to the long list of things I don't understand.
chrisl_l wrote: |
Thanks, that's the answer I've been searching for. |
Glad to have been of service. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Apr 07, 2010 5:09 pm Post subject: Re: Load balancing in cluster and ResolvedQName |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Vitor wrote: |
I still don't see why you need remote queues. But I'll add it to the long list of things I don't understand.
|
Possibly security reasons and no authorization to put to the SYSTEM.CLUSTER.TRANSMIT.QUEUE...  _________________ MQ & Broker admin |
|
Back to top |
|
 |
exerk |
Posted: Wed Apr 07, 2010 9:53 pm Post subject: Re: Load balancing in cluster and ResolvedQName |
|
|
 Jedi Council
Joined: 02 Nov 2006 Posts: 6339
|
fjb_saper wrote: |
Vitor wrote: |
I still don't see why you need remote queues. But I'll add it to the long list of things I don't understand.
|
Possibly security reasons and no authorization to put to the SYSTEM.CLUSTER.TRANSMIT.QUEUE...  |
So put in a QALIAS that resolves to the 'remote' queue local (I'm assuming the instances are shared in the cluster), and provide the necessary authorities to that QALIAS only? _________________ It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys. |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|