Author |
Message
|
sfari |
Posted: Thu Jul 07, 2005 3:31 am Post subject: Clustering aliases or queues? |
|
|
Centurion
Joined: 15 Apr 2003 Posts: 144
|
Hi,
Since it is possible to cluster queues and aliases I am not sure how to setup queues and aliases which belong together. We have the following setup:
- Cluster containing 2 Solaris QMs (SUN1 and SUN2) and 2 z/OS QMs (IBM1 and IBM2)
- consumer program on IBM1 and IBM2, which means to have on each of them a local queue
- producer program on SUN1 and SUN2
All programs access the queues via aliases. We need to have loadbalancing and failover which means if IBM1 is not available programs working on IBM2 will continue to consume messages. Same if SUN1 fails programs on SUN2 can still produce messages.
How should I set up the clustering? What is the best (pros/cons).
- define local queues and cluster aliases on IBM1, IBM2
- define local cluster queues on IBM1, IBM2 and normal alises on SUN1, SUN2, IBM1, IBM2
- define local cluster queues and cluster aliases on IBM1, IBM2
I could not find suggestions for combinations of aliases and queues in a cluster. Is there something similar?
Thanks,
Silvano |
|
Back to top |
|
 |
jefflowrey |
Posted: Thu Jul 07, 2005 3:35 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
If everyone only uses the aliases, there's no reason to share the local queues in the cluster.
I do not see any good reason to define the qalias on a machine that does not have the queue that the alias points to, unless different applications use the different aliases for the same queue. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
sfari |
Posted: Thu Jul 07, 2005 7:29 am Post subject: |
|
|
Centurion
Joined: 15 Apr 2003 Posts: 144
|
Thanks for your answer!
Does this mean that I would have to define a cluster alias for each local queue on each queue manager? As far as I know a cluster alias points always to a specific queue on a specific queue manager, isn't it?
Which means I need to define cluster aliases on IBM1 and IBM2, right? |
|
Back to top |
|
 |
vennela |
Posted: Thu Jul 07, 2005 8:27 am Post subject: |
|
|
 Jedi Knight
Joined: 11 Aug 2002 Posts: 4055 Location: Hyderabad, India
|
Quote: |
As far as I know a cluster alias points always to a specific queue on a specific queue manager, isn't it? |
NO
Quote: |
Which means I need to define cluster aliases on IBM1 and IBM2, right? |
Yes |
|
Back to top |
|
 |
sfari |
Posted: Fri Jul 08, 2005 6:16 am Post subject: |
|
|
Centurion
Joined: 15 Apr 2003 Posts: 144
|
Using local queues and cluster alias has the problem that I can not set specific rights for specific users on the maschine where the alias physically does not exist.
Example:
Cluster alias A.CLUS defined on IBM1 and IBM2. I see following error trying to set rights for mygroup.
Code: |
$setmqaut -m SUN1 -t q -n A.CLUS -g mygroup +put
AMQ7085: Object A.CLUS, type q not found. |
The tests showed that the only way that mygroup can put on A.CLUS is to set the put right on the SYSTEM.CLUSTER.TRANSMIT.QUEUE. The rule that mygroup is allowed to put on A.** does also not work.
According to this perceptions I decided to use cluster queues on IBM1 and IBM2 and define local aliases on every QM where a getter or putter runs.
Do you see a better way to solve the problem having multiple users in the same cluster which must not interfere each other? Any suggestion will be appreciated! |
|
Back to top |
|
 |
jefflowrey |
Posted: Fri Jul 08, 2005 6:52 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
sfari wrote: |
Using local queues and cluster alias has the problem that I can not set specific rights for specific users on the maschine where the alias physically does not exist. |
jefflowrey wrote: |
I do not see any good reason to define the qalias on a machine that does not have the queue that the alias points to, unless different applications use the different aliases for the same queue. |
If you have different security requirements in different locations for "the same alias", then you will have to have different instances of the "same" alias.
But then I wonder why you are using the same alias name. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
sfari |
Posted: Sun Jul 10, 2005 10:28 pm Post subject: |
|
|
Centurion
Joined: 15 Apr 2003 Posts: 144
|
Again a question regarding access rights for non physically existing cluster queues. Is there an other possibility than defining alias instances and to set the authorities on using setmqaut?
Trying to setmqaut on cluster objects (aliases, queues) ends in:
AMQ7085: Object MY_CLUSTER_QUEUE, type q not found.
Quote: |
I do not see any good reason to define the qalias on a machine that does not have the queue that the alias points to, unless different applications use the different aliases for the same queue.
|
Having different applications using different cluster queues ends also up in defininig alias instances for each application to be able to set specific access rights. Isn't this the case?
I can not allow all the users to put on SYSTEM.CLUSTER.TRANSMIT.QUEUE!
The reason we can not do this is that we have a multiple application environment. An example scenario would be: Unix user "appl1" needs to put on a cluster queue "APPL1" which is phisically located on z/OS. Unix user "appl2" on "APPL2" which is as well a z/OS cluster queue. We need to ensure that appl1 is only allowed to put on APPL1 and not on APPL2. Same for all other users it must be sure that every of them can only put on their own queue. |
|
Back to top |
|
 |
|