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 » WebSphere Message Broker (ACE) Support » Message affinity in Clusters

Post new topic  Reply to topic
 Message affinity in Clusters « View previous topic :: View next topic » 
Author Message
smeunier
PostPosted: Thu Sep 14, 2006 6:59 am    Post subject: Message affinity in Clusters Reply with quote

Partisan

Joined: 19 Aug 2002
Posts: 305
Location: Green Mountains of Vermont

I have a situation where I'm trying to determine the best resolution to handling message affinities in a clustered environment.

The set up is 4 qmgrs (2 MVS and 2 AIX) in a cluster. Client makes request to a AIX Server and expects a reply from the same server.

Each of the AIX systems are running a instance of a broker.

When a client connects and send the reply out, the message will ne put on a cluster queues to the MVS servers for work load balancing. The MVS client needs to reply to the specific AIX instance it came from.

Originally I was thinking that the MVS client will determine by interrogating the ReplyToQmgr and issue an Open to the Qmgr and queue. This seems ok, but put additional logic on the MVS clients.

My though was, that if the Reply queue was clustered then any of the AIX queue manager could pick up the message(Message flow), determine if the current queue manager where it was received, is the queue manager, that it need to go to. If not, then route the message to the required queue manger by send it to a transmission queue to the other queue manager, where the client is waiting for the response.

I like this as routing business logic, is confined to the broker and not a client decision. But it may be over kill, and I'm not sure if I can extract the queue manager name from the environment where the message flow is running, to make this business logic decision.

Is the way out in left field, or should I stay with having the client making the reply determine what queue manager to send to? And am I right that I can just drop a message to a transmission queue or do I need to go through remote queue?

And yes I have read the books on clustering and message affinities. Just trying to make a decision based on experience in the field.
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Thu Sep 14, 2006 7:10 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

The pattern says "use replytoqmgr".

If you don't want to use replytoqmgr, your next best bet is to use Pub/Sub.

Also, your description is horribly mangled between requester and replier and client and server. Request/reply clients don't send replies, the request/reply server does. So the process receiving the request is the SERVER and the process sending the request is the client.

In your design, either all of the "clients" have to be aware of each other or all of the "servers" have to be aware of each other - it's not clear which.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
jeevan
PostPosted: Thu Sep 14, 2006 7:14 am    Post subject: Reply with quote

Grand Master

Joined: 12 Nov 2005
Posts: 1432

I do not know how you extract the queue manager name where the message flew and decide where should it go. But so far as the sending the message to the correct queue manager is concerned, you have to have remote queue and transmission queue, as this is sending /receiving taks.
Back to top
View user's profile Send private message
smeunier
PostPosted: Thu Sep 14, 2006 9:25 am    Post subject: Reply with quote

Partisan

Joined: 19 Aug 2002
Posts: 305
Location: Green Mountains of Vermont

Sorry Jeff, Let me try the scenario again to be more clear.

The clients(requestors), send messages to and AIX MQ Instance(awaits a response), where a message flow will perform some tasks, and forward on to a MVS MQ Instance(cluster workload management will alternate to which MQ Instance receives the request). The client on MVS end receives the message, extract data and must respond to the client on the MQ instance from where the message was generated(requested). The MQ Instances(2 MVS, 2 AIX) are in a MQ cluster. The AIX Message brokers, form a collective and are NOT cloned.

The requestors are not persistent, they are on demand requests, whose connectivity to the MQ AIX servers is determined by and Edge network dispatcher. This means that the reply from the MVS clients may need to go to either AIX MQmgr 1 or AIX MQmgr 2. In either case, the replies need to go back to the AIX MQMgr from where the request originated.

Hope this is a little clearer. Because the clients are not persistent on the requestor side, I think Pub/Sub process of registering/deregister is a little excessive, but in the long run, may not be more than the connection over head of the clients.

I guess it is important to note at this time, that the requestor clients are legacy apps, and complete redesign is not an option.
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Thu Sep 14, 2006 3:12 pm    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

Okay. So the broker flow is a proxy for the client.

In that case, you could even use Aggregation with a single request to maintain state for a client app. So an app would connect to some broker queue manager, which would invoke a local flow. That flow would use aggregation and the replytoqmgr to make sure that it got back the answer to it's particular proxied request. It could then reply to the queue on the local qmgr, and the client app would get it.

The client app would not have to set replytoqmgr -just the broker flow.
_________________
I am *not* the model of the modern major general.
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 » WebSphere Message Broker (ACE) Support » Message affinity in Clusters
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.