Author |
Message
|
GregJ |
Posted: Tue Jul 15, 2003 5:08 am Post subject: Cluster question |
|
|
Acolyte
Joined: 24 Oct 2001 Posts: 69 Location: Markham, On. Canada
|
If I create a 6 machine cluster; each hosting identical queues - where should my application connect? Isn't the rule with clusters that if the queue is hosted locally it is used? As it is now, the application connects to a random server. This would mean that things would stay hte same as if i didn't have a cluster (applications connecting to any one server)
Am I missing something - or is it not a good idea to have 6 'clones' for workload balancing.
I know this may not make sense as i write it - but believe me, it's clear as mud in my head.
Thanks
G |
|
Back to top |
|
 |
jefflowrey |
Posted: Tue Jul 15, 2003 7:14 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
The reason for creating six local queues - one on each queue manager - is so that you can have six copies of your application processing messages independantly in parallel. Then the cluster will balance the workload between each copy of the application.
This does mean you have to take some minor extra care with shared resources between each copy of that application (like database tables, properties files, etc.). But this isn't much different than what you normally need to do, and you get significant benefits in performance from running parallel applications. |
|
Back to top |
|
 |
Ratan |
Posted: Tue Jul 15, 2003 8:45 am Post subject: |
|
|
 Grand Master
Joined: 18 Jul 2002 Posts: 1245
|
This is what I would do:
I will have 5 QMs with the same local queue 'xyz' and 6th QM just the part of the cluster. My put application will connect to the 6th QM and put the message to the clustered queue 'xyz'. That message will be load balanced among the other 5 QMs.
Is this what you are trying to understand?
-Ratan |
|
Back to top |
|
 |
bduncan |
Posted: Tue Jul 15, 2003 12:54 pm Post subject: |
|
|
Padawan
Joined: 11 Apr 2001 Posts: 1554 Location: Silicon Valley
|
Yes, if your application connects to a queue manager actually hosting an instance of the clustered queue locally, your application will always put the message to the local copy.
However, if you connect to a queue manager which is NOT hosting an instance of the clustered queue locally, and your application starts putting messages to that queue, it will be balanced among all instances of the queue (assuming you use bind_not_fixed). _________________ Brandon Duncan
IBM Certified MQSeries Specialist
MQSeries.net forum moderator |
|
Back to top |
|
 |
sree |
Posted: Tue Jul 15, 2003 8:24 pm Post subject: |
|
|
Novice
Joined: 12 Mar 2003 Posts: 19
|
I have one question here. Let us think we have 2 Qmgrs A, B. we have Quees Qa and Qb on Qmgrs A, B respectively. Qmgrs A, B are in the cluster and queues Qa and Qb are the cluster queues.
The application is connecting to A. i know that the application can put the message in the queue Qb. similary the application can get message from Qb?. i guess it can not.
Some one can clear me? _________________ Thank you.
sree |
|
Back to top |
|
 |
mgrabinski |
Posted: Tue Jul 15, 2003 9:44 pm Post subject: |
|
|
Master
Joined: 16 Oct 2001 Posts: 246 Location: Katowice, Poland
|
You're right. You can put messages to cluster queues hosted anywhere in the cluster, but you can get them only from local queues (hosted by the queue manager you are connected to) _________________ Marcin Grabinski <>< |
|
Back to top |
|
 |
|