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 » HELP! - Clustering and Message Affinities

Post new topic  Reply to topic
 HELP! - Clustering and Message Affinities « View previous topic :: View next topic » 
Author Message
briastep5243
PostPosted: Mon Dec 09, 2002 1:17 pm    Post subject: HELP! - Clustering and Message Affinities Reply with quote

Novice

Joined: 09 Dec 2002
Posts: 11

When the queue manager clustering manual talks about message affinities (question/answer type messaging), are they saying that request/reply messages actually have message affinities and that we shouldn't use request/reply messaging in conjuction with a qmgr clustering architecture ???

Or are they referring to a specific type of Request/Reply messages??

See quote from IBM MQ Qmgr Clustering manual:

"Reviewing applications for message affinities:
Before starting to use clusters with multiple definitions of the same queue, examine your applications to see whether there are any that have Message affinities, that is, they exchange related messages. With clusters, a message can be routed to any queue manager that hosts a copy of the correct queue, affecting the logic of applications with message affinities.
Suppose for example, you have two applications that rely on a series of messages flowing between them in the form of questions and answers. It might be important that all the questions are sent to the same queue manager and that all the answers are sent back to the other queue manager. In this situation, it is important that the workload management routine does not send the messages to any queue manager that just happens to host a copy of the correct queue."

Thanks,

B-
Back to top
View user's profile Send private message
bduncan
PostPosted: Mon Dec 09, 2002 3:44 pm    Post subject: Reply with quote

Padawan

Joined: 11 Apr 2001
Posts: 1554
Location: Silicon Valley

There is nothing wrong with using request/reply in a clustered environment. It may be easiest to explain this with an example. Imagine a large website like yahoo's, where there are hundreds of webservers. When you type www.yahoo.com into your browser, you get directed to one of those webservers. You don't really care which, because the programmers at yahoo made sure that all those webservers give you the same answer. Furthermore, your interaction with yahoo is stateless. That is, while your first page request gets routed to webserver #35, when you type "mqseries" in the search box on their homepage and click "find", the answer to your search request may come from webserver #42, not 35... In other words, there was no affinity between your first request and your second.
Now imagine a second scenario. I walk into a bank and go to one of the tellers and say "I want to make a deposit". They respond with "What is your account number?", and I say, "12345". The teller punches my account number on their screen, and says "How much would you like to deposit?". But now I walk over to a different teller and say, "I want to deposit $200." Well, this second teller doesn't know my account number, and we have to start all over again! In other words, there was an affinity between my first request "my account number is..." and my second request "the amount to deposit is...". The teller's ability to process my second request was dependent on that same teller processing my first request.
If we apply this knowledge to the world of MQ, you'll see why clustering is limited in the second scenario. In the first scenario, clustering works just fine; I can make multiple requests, and I don't care which particular queue manager services them, because they'll all be able to give me the same answer. However, in the second scenario, if my first request is processed by queue manager A, but my second request (which has affinity with the first request) goes to queue manager B, it will be unable to process my second request because it is not the same queue manager that processed my first request.
However, clustering is flexible in that it allows you to define (at MQOPEN time) whether you want all messages your application puts to go to the same instance of a clustered queue (BIND_ON_OPEN) or to be round-robined among all instances of a clustered queue (BIND_NOT_FIXED). If your application has message affinity, you'll need to use BIND_ON_OPEN, otherwise you are free to utilize the round-robin capabilities of clustering.
Hope this clears up your doubts!
_________________
Brandon Duncan
IBM Certified MQSeries Specialist
MQSeries.net forum moderator
Back to top
View user's profile Send private message Visit poster's website AIM Address
briastep5243
PostPosted: Tue Dec 10, 2002 6:45 am    Post subject: Reply with quote

Novice

Joined: 09 Dec 2002
Posts: 11

Brandon,

Thanks for the prompt answer on this.

I suspected that Request/Reply and Question/Answer type messages
were not the same. You confirmed my belief.

Thanks for the thorough explanation!

Much appreciated,

B-
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 » HELP! - Clustering and Message Affinities
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.