Author |
Message
|
sairam |
Posted: Wed Apr 20, 2005 6:57 am Post subject: MQ Cluster set up Linux |
|
|
Centurion
Joined: 07 Mar 2005 Posts: 120
|
Cluster Setup -->
We are having 3 boxes (A, B and C which are Senders each having QMA, QMB and QMC queue
managers respectively).There are D,E,F,G and H as Receiver Boxes.
A [QMA, 1 channel, 4 queues]--> D
B [QMB,1 channel, 2queues] --> E
B [QMB,1 channel, 2queues] --> F
C [QMA, 1 channel, 2 queues]--> G
C [QMA, 1 channel, 2 queues]--> H
What would be the best way to set up this kind of cluster? Any tips?Can we have the same QM on 2 different boxes? |
|
Back to top |
|
 |
Anirud |
Posted: Wed Apr 20, 2005 7:13 am Post subject: Re: MQ Cluster set up Linux |
|
|
 Master
Joined: 12 Feb 2004 Posts: 285 Location: Vermont
|
sairam wrote: |
Can we have the same QM on 2 different boxes? |
Practically, Yes.
Is it recommended, NO.
Search here and you will find a lot of discussion on this topic. |
|
Back to top |
|
 |
sairam |
Posted: Wed Apr 20, 2005 7:30 am Post subject: |
|
|
Centurion
Joined: 07 Mar 2005 Posts: 120
|
Yeah i was going through the docs and they say it is not advisable to have 2 QMs with same name in a cluster.
Any advises on the cluster set up? |
|
Back to top |
|
 |
Anirud |
Posted: Wed Apr 20, 2005 7:48 am Post subject: |
|
|
 Master
Joined: 12 Feb 2004 Posts: 285 Location: Vermont
|
I didn't understand what you are trying to achieve.
Could you be more specific?
Will A,B,C,D,E,F,G,H all be part of the cluster? |
|
Back to top |
|
 |
sairam |
Posted: Wed Apr 20, 2005 7:53 am Post subject: |
|
|
Centurion
Joined: 07 Mar 2005 Posts: 120
|
yes that is what we are planning to?
Can the local queues be defined on any QM( Full / Partial repositories)?
Should they be defined only on the sending or can they be defined on the receiving end too?? |
|
Back to top |
|
 |
Anirud |
Posted: Wed Apr 20, 2005 9:17 am Post subject: |
|
|
 Master
Joined: 12 Feb 2004 Posts: 285 Location: Vermont
|
sairam wrote: |
Can the local queues be defined on any QM( Full / Partial repositories)? |
Yes.
sairam wrote: |
Should they be defined only on the sending or can they be defined on the receiving end too?? |
You can define a queue on any cluster QMgr and put messages to it from any other custer QMgr. Whereas, you can only get messages from the local QMgr of a queue.
Read the WebSphere MQ Queue Manager Clusters manual. |
|
Back to top |
|
 |
sairam |
Posted: Wed Apr 20, 2005 9:33 am Post subject: |
|
|
Centurion
Joined: 07 Mar 2005 Posts: 120
|
Thanks Anirud...I was infact going through the manual too. So i will define QLs on my destination boxes without any remote q's in picture at all, if i use clustering.
So the Full repositories need not host any of the local queues ?? am i right? They could be any other QMs too... |
|
Back to top |
|
 |
Anirud |
Posted: Wed Apr 20, 2005 9:57 am Post subject: |
|
|
 Master
Joined: 12 Feb 2004 Posts: 285 Location: Vermont
|
sairam wrote: |
So i will define QLs on my destination boxes without any remote q's in picture at all, if i use clustering. |
You will have to define your QLs as cluster queues.
sairam wrote: |
So the Full repositories need not host any of the local queues ?? am i right? |
Yes. |
|
Back to top |
|
 |
sairam |
Posted: Wed Apr 20, 2005 11:43 am Post subject: |
|
|
Centurion
Joined: 07 Mar 2005 Posts: 120
|
Can we have active /passive QMs in a cluster?How can we maintain the ordering of the messages in a cluster? |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Apr 20, 2005 12:03 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Again do a search and read the clustering manual. It's all been rehashed.
Search topic bind on open...
 |
|
Back to top |
|
 |
sairam |
Posted: Wed Apr 20, 2005 2:24 pm Post subject: |
|
|
Centurion
Joined: 07 Mar 2005 Posts: 120
|
Folks,
Thank you.I am going through the manuals but i need some advise on my set up. If i have (2 QMGRs) each QM on separate boxes having FULL repositories, what do i mention from the application side, i mean how does the app know to divert to the second QM f one of them fails (for failover).
Do we mention only the queue paramter on application side? But the app needs to first connect to a QM right, so do we need to give all the QM names on the client side, so that if one QM fails, requests go to the second alternate FULL repos QM. Can we have one QM not running out of the 2 Full Repositories and have that running only when the first one fails?
I know for workload balancing we can have multiple instances of same queue on all QMs. Please lighten me with some tips.
I have gone through the MQOO_BIND_ON_OPEN, but what if i want the msgs not to stay on the SYSTEM.CLUSTER.TRANSMIT.QUEUE when the QM1 is down, but , i want them to be routed to QM2 (another QM repository) to reduce the down time. |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Apr 20, 2005 3:26 pm Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
MQ Clustering has no effect on what queue manager an application connects to.
It only affects what queue manager the messages you put go to.
This is one of the reasons that MQ Clustering does not provide failover. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Apr 20, 2005 5:36 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
The point is to use a gateway queue manager and not to use bind on open.
And as Jeff said, realize that the only advantage an MQ Cluster is giving you is load balancing and not fail over. Truly the fail over capability is limited to putting the full load on the surviving queue managers...
Enjoy  |
|
Back to top |
|
 |
sairam |
Posted: Wed Apr 20, 2005 5:59 pm Post subject: |
|
|
Centurion
Joined: 07 Mar 2005 Posts: 120
|
fjb_saper wrote: |
The point is to use a gateway queue manager and not to use bind on open.
And as Jeff said, realize that the only advantage an MQ Cluster is giving you is load balancing and not fail over. Truly the fail over capability is limited to putting the full load on the surviving queue managers...
Enjoy  |
So can you be more specific to this point. So you mean to say that we have to manually shift the load from one QM to another or use some external device to route the requests to another QM. If so , what would happen to the sequence (ordering ) of messages if that is important in the app. do we lose that?
Can we have any QM in a cluster as passive (not running)?
If we have both the QMs active (or) one of them is active and other passive (if at all this is possible), can we then ensure the ordering or sequence of msgs ? |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Apr 20, 2005 6:34 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
No you do not shift any load manually the round robbing algorythm will do that for you.
If the messages need to stay together you will need to open the queue in bind at open mode. But that means that for each little batch you would need to do a new open or all messages would go to the same qmgr.
Yes you can have a qmgr passive in a cluster : suspend it from the cluster. However if the queue is housed on only this qmgr in the cluster the messages will still flow to that qmgr's queue.
Like I said bind on open will ensure all messages being processed by the same qmgr. However as soon as you do load balancing there is no way to guarantee the sequence of processing over multiple processors. This is a design feature. If you need to guarantee the sequencing of the processor you cannot load balance !!
Enjoy  |
|
Back to top |
|
 |
|