Author |
Message
|
wilsonho3 |
Posted: Thu Feb 08, 2007 11:20 pm Post subject: Using two pair of CICS/MQ to perform load balancing |
|
|
Voyager
Joined: 20 Nov 2001 Posts: 98 Location: Hong Kong
|
Hi, all
I have problem concerning load balancing on CICS seeking advice.
my site is using MF having MQ-CICS adapter to retrive message. The
problem is that there is only one MQ available on Host anytime to
retrieve message and my site has no CF installed. As the message
volumn increase. Can I install one more pair of MQ-CICS on host
to perform something look like a load balancing on Host. Is it possible
to configure the MQ (On both CICS) as a cluster. Please advise.
wilson |
|
Back to top |
|
 |
zpat |
Posted: Thu Feb 08, 2007 11:55 pm Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
You can't load balance using the CKTI transaction triggering.
You can however code your own long-running transaction that GETs from a queue in a loop. This transaction can run in more than one region against the same queue. |
|
Back to top |
|
 |
jefflowrey |
Posted: Fri Feb 09, 2007 2:40 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
zpat - is there something particular about CKTI transaction triggering that would prevent a normal MQ Cluster style arrangement, with two queue managers and two CICS regions? _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
zpat |
Posted: Fri Feb 09, 2007 3:00 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
Seems like a lot of work to solve a simple issue. Sledgehammer to crack a nut and all that.
What happens if you want to add another three CICS region to handle the workload - you would have to create another three queue managers!
Triggering is not really compatible with load balancing. It is also higher overhead (extra get and put to the init queue). Load balancing implies continuous high volume messages.
The best solution for this is a continously running transaction reading the queue. This can run in any number of CICS regions, or even more than once in the same region (against the same queue!).
There is always the issue of controlling the number of concurrently running transactions (which triggering can make much worse). |
|
Back to top |
|
 |
jefflowrey |
Posted: Fri Feb 09, 2007 4:36 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Load balancing can also indicate bursts of large volumes of messages.
And triggering is a reasonable approach for that. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
zpat |
Posted: Fri Feb 09, 2007 11:36 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
Like I said, how do you control CKTI triggering to only run say a maximium of 4 concurrent transactions in a given region for a given queue when a 100,000 messages hit the queue?
You can't with trigger EVERY, and trigger FIRST only works if the transaction reads the queue until empty and even then only one transaction will run which may not make use of the all the CPUs in the LPAR etc. Pull load balancing is so much more controllable.
We process almost all our business with CICS and MQ, and ended up writing our own MQ driven CICS dispatcher in effect, MQ triggering is just not controllable enough. |
|
Back to top |
|
 |
|