ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » Clustering » Load balancing in cluster and ResolvedQName

Post new topic  Reply to topic
 Load balancing in cluster and ResolvedQName « View previous topic :: View next topic » 
Author Message
chrisl_l
PostPosted: Tue Apr 06, 2010 7:08 am    Post subject: Load balancing in cluster and ResolvedQName Reply with quote

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
View user's profile Send private message
Vitor
PostPosted: Tue Apr 06, 2010 7:32 am    Post subject: Re: Load balancing in cluster and ResolvedQName Reply with quote

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
View user's profile Send private message
chrisl_l
PostPosted: Wed Apr 07, 2010 8:37 am    Post subject: Re: Load balancing in cluster and ResolvedQName Reply with quote

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
View user's profile Send private message
Vitor
PostPosted: Wed Apr 07, 2010 8:44 am    Post subject: Re: Load balancing in cluster and ResolvedQName Reply with quote

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
View user's profile Send private message
fjb_saper
PostPosted: Wed Apr 07, 2010 5:09 pm    Post subject: Re: Load balancing in cluster and ResolvedQName Reply with quote

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
View user's profile Send private message Send e-mail
exerk
PostPosted: Wed Apr 07, 2010 9:53 pm    Post subject: Re: Load balancing in cluster and ResolvedQName Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » Clustering » Load balancing in cluster and ResolvedQName
Jump to:  



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
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.