Author |
Message
|
jstefano |
Posted: Fri Jun 02, 2006 1:27 pm Post subject: sending a message to/from MQ Cluster |
|
|
Apprentice
Joined: 13 Apr 2006 Posts: 48
|
Dear MQ Gurus!
We have a question if you don't mind:
Scenario:
we have 3 BE apps (each with MQ client) talking to 2 FE apps (each with MQ client).
We would like to cluster 2 FE apps in order to manage data integrity
and load balancing.
Our question is this:
Will MQ cluster created from 2 FE apps handle a load balancing, or do we have to have one more MQ Manager(some kind of a gateway) which will distribute message to/from the cluster?
Our concern is that if we need a gateway (which is just one MQ manager)
this will create a single point of failure.
Any ideas, hints, etc.... will be greatly appreciated!
Thanks a million
Jan |
|
Back to top |
|
 |
jefflowrey |
Posted: Fri Jun 02, 2006 1:37 pm Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
You can change the default workload algorithm in version 6 to distribute messages regardless of if there is a local queue on the qmgr you are putting to or not.
You can't change this on version 5 - it is preferredLocal only. So for version 5, you will have to create a gateway queue manager for the backend clients that is in the cluster but has no FE queues defined on it. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
jstefano |
Posted: Mon Jun 05, 2006 10:02 am Post subject: |
|
|
Apprentice
Joined: 13 Apr 2006 Posts: 48
|
jefflowrey wrote: |
You can change the default workload algorithm in version 6 to distribute messages regardless of if there is a local queue on the qmgr you are putting to or not.
You can't change this on version 5 - it is preferredLocal only. So for version 5, you will have to create a gateway queue manager for the backend clients that is in the cluster but has no FE queues defined on it. |
Thanks Jeff! Appriciated your answer a lot!
so, if our MQ on AIX is 5.3, we can't avoid this simple point of failure, right? BTW, I may use the wrong wording in my previous post,
when I am saying "client" I actaully meant an MQ manager
Have a great day and thanks again!
Jan |
|
Back to top |
|
 |
jefflowrey |
Posted: Mon Jun 05, 2006 10:16 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Start over.
Changing the word "client" to mean "queue manager" changes the picture entirely.
Add all the backend queue managers into the cluster. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
jstefano |
Posted: Mon Jun 05, 2006 10:24 am Post subject: |
|
|
Apprentice
Joined: 13 Apr 2006 Posts: 48
|
jefflowrey wrote: |
Start over.
Changing the word "client" to mean "queue manager" changes the picture entirely.
Add all the backend queue managers into the cluster. |
Oh no! Geeeeez... OK, I'll explain our situation again, Jeff
Scenario:
we have 3 BE apps (each with MQ Manager) talking to 2 FE apps (each with MQ Manager).
We would like to cluster 2 FE apps in order to manage data integrity and load balancing.
Our question is this:
Will MQ cluster created from 2 FE apps handle a load balancing, or do we have to have one more MQ Manager(some kind of a gateway) which will distribute message to/from the cluster? Our concern is that if we need a gateway (which is just one MQ manager) this will create a single point of failure. We are using MQ 5.3 (CSD06) on AIX
you suggested to put all backend/fronend into one cluster? Means 3BE and 2FE into one cluster?
Our idea is to avoid to have too many sender/receiver channels created on each of them.
Or it is possible to create a cluster and then all BE will send messages just to Cluster receiver, or what?
Please excuse my lack of knowledge... and thanks again for your help |
|
Back to top |
|
 |
wschutz |
Posted: Mon Jun 05, 2006 10:40 am Post subject: |
|
|
 Jedi Knight
Joined: 02 Jun 2005 Posts: 3316 Location: IBM (retired)
|
So you have 3 BE qmgrs, in each of those qmgr you define a queue that the back-end clients read from (call it BEQ for now) and you place that queue in a cluster (CLUS1). You join your 2FE qmgs into the cluster CLUS1 (by defining a cluster receiver and cluster sender channel in each FE qmgr) and when a client on one of the FE qmgrs MQPUTs to BEQ, it will go to one of the BE qmgrs (round robin algorithm). If a BE qmgr fails, then the messages will round-robin between the remaining BE qmgrs.
Everyone needs a clussdr channel to one of the full repos qmgrs (but that can be one the BE qmgrs), _________________ -wayne |
|
Back to top |
|
 |
jstefano |
Posted: Mon Jun 05, 2006 10:54 am Post subject: |
|
|
Apprentice
Joined: 13 Apr 2006 Posts: 48
|
wschutz wrote: |
So you have 3 BE qmgrs, in each of those qmgr you define a queue that the back-end clients read from (call it BEQ for now) and you place that queue in a cluster (CLUS1). You join your 2FE qmgs into the cluster CLUS1 (by defining a cluster receiver and cluster sender channel in each FE qmgr) and when a client on one of the FE qmgrs MQPUTs to BEQ, it will go to one of the BE qmgrs (round robin algorithm). If a BE qmgr fails, then the messages will round-robin between the remaining BE qmgrs.
Everyone needs a clussdr channel to one of the full repos qmgrs (but that can be one the BE qmgrs), |
Wayne, thanks a million! Great and useful answer!
one more question though.... on each BE server, we already have MQ managers connecting to AS400 and we can't touch these. Would it be possible to add second sets of MQ managers on each BE server and cluster them together with FE servers?
That will most likely save the day for us, but not sure if MQ Manager#2 on each BE server will not interfere with MQ Managers #2 (which will be a member of the MQ Cluster (CLUS1)
thanks in advance!
Jan |
|
Back to top |
|
 |
wschutz |
Posted: Mon Jun 05, 2006 11:01 am Post subject: |
|
|
 Jedi Knight
Joined: 02 Jun 2005 Posts: 3316 Location: IBM (retired)
|
Quote: |
one more question though.... on each BE server, we already have MQ managers connecting to AS400 and we can't touch these. Would it be possible to add second sets of MQ managers on each BE server and cluster them together with FE servers?
|
Sure, as long as you have enough resource on the BE machines to handle the additional workloads. Defining multiple qmgrs on a single server for isolation purposes is a common practice. _________________ -wayne |
|
Back to top |
|
 |
jstefano |
Posted: Fri Jun 09, 2006 3:05 pm Post subject: |
|
|
Apprentice
Joined: 13 Apr 2006 Posts: 48
|
wschutz wrote: |
Quote: |
one more question though.... on each BE server, we already have MQ managers connecting to AS400 and we can't touch these. Would it be possible to add second sets of MQ managers on each BE server and cluster them together with FE servers?
|
Sure, as long as you have enough resource on the BE machines to handle the additional workloads. Defining multiple qmgrs on a single server for isolation purposes is a common practice. |
Thank you very much, Wayne!!! Sorry for the late reply, I was out of the office for a while... have a great weekend!
Jan |
|
Back to top |
|
 |
jstefano |
Posted: Fri Jun 16, 2006 8:36 am Post subject: How to send a message from CLUSTER to outside QM and back? |
|
|
Apprentice
Joined: 13 Apr 2006 Posts: 48
|
Dear MQ Gurus.
I have a cluster with 2 QM (QM1 and QM2) and one Gateway, they can talk to each other and when I send a 100 messages from Gateway to cluster queue, messages are nicely balanced between them.
Now I Have to setup a QM outside the cluster (Lets call it QM3) and communicate with QM1 / QM2 inside the cluster.
Would any nice soul send me a few commands how to do that please?
I tried few times but it does not work, I read and re-read to documents
but still no luck.
Any help will be highly appreciated!!!
Thanks in advance for your help and please excuse my lack of knowledge, I am learning MQ on the fly and I like it a lot, but it's just a totally new ground for me...
Jan |
|
Back to top |
|
 |
jefflowrey |
Posted: Fri Jun 16, 2006 1:40 pm Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
You just use normal mq channels. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
fjb_saper |
Posted: Sat Jun 17, 2006 3:43 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
jefflowrey wrote: |
You just use normal mq channels. |
Read up as well on the intercommunication manual.
You could have a setup like this:
Channels between new MQ manager and gateway qmgr.
QMR aliases for the other 2 qmgrs directing all traffic through the gateway
--- caution --- the gateway is now a single point of failure.... and acts mainly as a router....
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
jstefano |
Posted: Mon Jun 19, 2006 7:31 am Post subject: |
|
|
Apprentice
Joined: 13 Apr 2006 Posts: 48
|
fjb_saper wrote: |
jefflowrey wrote: |
You just use normal mq channels. |
Read up as well on the intercommunication manual.
You could have a setup like this:
Channels between new MQ manager and gateway qmgr.
QMR aliases for the other 2 qmgrs directing all traffic through the gateway
--- caution --- the gateway is now a single point of failure.... and acts mainly as a router....
Enjoy  |
Thank you very much Jeff, I already fixed the problem, now my BE servers can talk to FE servers clustered, and I do have a gateway which is doing a load balancing. Thanks a million for your help!
BTW, is there any way how to avoid the problem with the gateway?
We are thinking of HA solution on hardware level. It's not the best solution but it's the only one we can think off. Any other ideas around?
Anyway, thanks again and have a great week!
Jan |
|
Back to top |
|
 |
jefflowrey |
Posted: Mon Jun 19, 2006 7:45 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
If your apps are only sending stuff to the gateway using client connections, then you can put two gateway queue managers up and use a network load balancer to redirect the client connections in case of failure.
Or you can otherwise put up two gateway queue managers and manually (in some sense) load balance the application connection between them. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
jstefano |
Posted: Mon Jun 19, 2006 7:50 am Post subject: |
|
|
Apprentice
Joined: 13 Apr 2006 Posts: 48
|
jefflowrey wrote: |
If your apps are only sending stuff to the gateway using client connections, then you can put two gateway queue managers up and use a network load balancer to redirect the client connections in case of failure.
Or you can otherwise put up two gateway queue managers and manually (in some sense) load balance the application connection between them. |
Hm, the first option sounds reasonable and doable, we are using F5 load balancer for other projects, so I'll try to test this option.
Thanks a lot Jeff, you are a the best!!!
Jan |
|
Back to top |
|
 |
|