ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » Mainframe, CICS, TXSeries » Using Clustering with CICS MRO... any issue?

Post new topic  Reply to topic Goto page 1, 2, 3  Next
 Using Clustering with CICS MRO... any issue? « View previous topic :: View next topic » 
Author Message
Maximus
PostPosted: Wed Jan 21, 2009 2:48 pm    Post subject: Using Clustering with CICS MRO... any issue? Reply with quote

Acolyte

Joined: 14 Jun 2004
Posts: 57

Hi,

I am a newbie on the mainframe and would like to be sure that the following MQ setup is feasible on z/OS:

There are 3 CICS regions setup with MRO and in order to do load balancing between 2 CICS regions in the MRO, I would like to setup a MQ Cluster with one QM per CICS where one QM would act as a gateway and the 2 others QM would be used to execute CICS transactions where they will have the same queues and a trigger monitor (CKTI) for each of them. So the MQ connections would come by the QM acting as a gateway where it will use round-robin to send the requests to one of the 2 other QM on the other CICS.

Is this feasible? Is there an issue with using such setup?

Any help would be appreciated.
Thanks.
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Wed Jan 21, 2009 6:29 pm    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7722

As of MQ 6.0, you no longer need a 3rd QM in this scenario to act as a Gateway to achieve the load balancing.
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
Maximus
PostPosted: Thu Jan 22, 2009 4:38 am    Post subject: Reply with quote

Acolyte

Joined: 14 Jun 2004
Posts: 57

PeterPotkay wrote:
As of MQ 6.0, you no longer need a 3rd QM in this scenario to act as a Gateway to achieve the load balancing.


Are you referring to parameter "CLWL use queue" with value of "ANY" which even do you are connected to a local Queue it will do round-robin with the other QM?
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Thu Jan 22, 2009 4:58 am    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7722

Correct. I can't imagine that load balancing is going to use significant CPU or memory, so might as well let one of the 2 QMs do it. Certainly will use less resources than a whole 'nother Queue Manager on the system.

The only concern is for the truly anal who want QM1 and QM2 to be identical in every aspect. But like I said, I can't imagine the load balancing being done by one of them even being discernible.
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
Maximus
PostPosted: Thu Jan 22, 2009 5:17 am    Post subject: Reply with quote

Acolyte

Joined: 14 Jun 2004
Posts: 57

PeterPotkay wrote:
Correct. I can't imagine that load balancing is going to use significant CPU or memory, so might as well let one of the 2 QMs do it. Certainly will use less resources than a whole 'nother Queue Manager on the system.

The only concern is for the truly anal who want QM1 and QM2 to be identical in every aspect. But like I said, I can't imagine the load balancing being done by one of them even being discernible.


I agree with you, load balancing on one of the 2 QM will certainly take less resources then a whole QM that will be doing just that. Beside the fact that an extra QM also means extra administration tasks and monitoring to do.

Thanks for your help
Back to top
View user's profile Send private message
bob_buxton
PostPosted: Fri Jan 23, 2009 2:11 am    Post subject: Reply with quote

Master

Joined: 23 Aug 2001
Posts: 266
Location: England

If the CICS regions are in the same SYSPLEX you could consider using shared queues instead of clustering. With clustering if one of your CICS regions goes down for any reason there can be orphaned messages on the queue manager that wont be processed until that CICS comes back while with shared queues the other CICS regions can process all the messages.
_________________
Bob Buxton
Ex-Websphere MQ Development
Back to top
View user's profile Send private message
Maximus
PostPosted: Fri Jan 23, 2009 4:37 am    Post subject: Reply with quote

Acolyte

Joined: 14 Jun 2004
Posts: 57

bob_buxton wrote:
If the CICS regions are in the same SYSPLEX you could consider using shared queues instead of clustering. With clustering if one of your CICS regions goes down for any reason there can be orphaned messages on the queue manager that wont be processed until that CICS comes back while with shared queues the other CICS regions can process all the messages.


Hi Bob, thanks for your advice but my client does not have DB2 installed on the mainframe which is required for shared queues. Also the MQ messages are request/response type for a WebApp and are not persistent and expire after 20 seconds. What my client is looking for is primary load balancing in order to support the grow of users.

Best regards.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Fri Jan 23, 2009 4:46 am    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

Maximus wrote:
Hi Bob, thanks for your advice but my client does not have DB2 installed on the mainframe which is required for shared queues. Also the MQ messages are request/response type for a WebApp and are not persistent and expire after 20 seconds. What my client is looking for is primary load balancing in order to support the grow of users.

Best regards.

How many users or messages / second are we talking about here?
The MF is usually quite competent at IO and brutally fast too. It would take a lot to even max out a single qmgr... Your bottle necks are likely going to be other than MQ hence the need for load balancing and a different CICS region? This looks more like a redundancy request than a user growth problem unless the processes required on receipt of messages take up a long time.... and perhaps need optimizing?

Do you have huge network latencies?

We retrieve customer data from a mainframe physically about 1000 miles away in about 100 ms round trip using Message Broker, MQ and DB2 with the request reply model
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Maximus
PostPosted: Fri Jan 23, 2009 5:17 am    Post subject: Reply with quote

Acolyte

Joined: 14 Jun 2004
Posts: 57

fjb_saper wrote:
How many users or messages / second are we talking about here?
The MF is usually quite competent at IO and brutally fast too. It would take a lot to even max out a single qmgr... Your bottle necks are likely going to be other than MQ hence the need for load balancing and a different CICS region? This looks more like a redundancy request than a user growth problem unless the processes required on receipt of messages take up a long time.... and perhaps need optimizing?

Do you have huge network latencies?

We retrieve customer data from a mainframe physically about 1000 miles away in about 100 ms round trip using Message Broker, MQ and DB2 with the request reply model


Let me explain a bit more the scenario, this would help you guys better understand the situation. The client as 3 CICS regions with MRO, one CICS regions is used for IO and outside communication, while the 2 other CICS regions are used for round-robin TN3270 sessions and executing CICS transactions for the TN3270 users.

The client as now replaced the TN3270 session with a WebApp and using MQ to execute the CICS transactons. Since the same amount of TN3270 users will be switching to use the WebApp, the client wants to have the exact same load-balancing he as today between 2 CICS regions. In the architecture, MQ is only there to dispatch the request to execute CICS transactions.

In order to accomplish this the client as developed a "WebSphere MQ CICS Adapter" strongly based on this pattern:
http://www.ibm.com/developerworks/websphere/library/techarticles/0511_suarez/0511_suarez.html

Now if I install 2 QM in cluster an start a Trigger Monitor (CKTI) on both CICS regions then I will accomplish the same round-robin that was there prior to the WebApp and MQ (meaning with the TN3270 sessions).
The WebApp is installed on WAS and is using MQ Client to connect to the MQ cluster on the mainframe.

Returning to your questions about 1 QM being able to do the jobs. The issue with one QM, is that I won't be able to balance the load between 2 CICS regions using 1 CKTI. As far as I know, you cannot start 2 CKTI on the same INITQ. Is this true? Would this be supported by QM? If I could start 2 CKTI on the same INITQ then I would achieve the same load balancing as 2 QM in cluster with 1 CKTI each...

Does this makes sense? Like I mentioned at the beginning of the thread, I am pretty much a newbie on the mainframe.

Any help or suggestions would be appreciated.
Back to top
View user's profile Send private message
Vitor
PostPosted: Fri Jan 23, 2009 5:29 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

Maximus wrote:
Does this makes sense? Like I mentioned at the beginning of the thread, I am pretty much a newbie on the mainframe.


I think the question here is what the load balancing is intended to achieve. In the model you've outlined, you're not going to be loading the 2 queue managers very heavily and it sounds to me like it was done to balance networ loads on terminal sessions.

I'm as unconvinced as FJ that you need load balancing for the simple purposes of load. One thing you may be unaware of is that mainframe is the only platform where TRIGGER(EVERY) is not a bad idea; both because of the enormous horsepower at your disposal but more importantly because CICS provides a mechanism by which transactions can be throttled. This stops you getting the damaging "transaction explosion" which is an issue with TRIGGER(EVERY).

Identify exactly where your client feels the bottlenecks are, and design for those. It's always a little dubious building a new system to a given design "because that's how the old system worked". This is a new set up and despite your client's initial & instinctive desire to have the same load balancing, it's worth at least evaluating that desire to see if this new system offers new & currently unrealised advantages.

Worst case - shrug and do what you're doing. You can't lose.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
Maximus
PostPosted: Fri Jan 23, 2009 6:31 am    Post subject: Reply with quote

Acolyte

Joined: 14 Jun 2004
Posts: 57

Vitor wrote:
I think the question here is what the load balancing is intended to achieve. In the model you've outlined, you're not going to be loading the 2 queue managers very heavily and it sounds to me like it was done to balance networ loads on terminal sessions.

I'm as unconvinced as FJ that you need load balancing for the simple purposes of load. One thing you may be unaware of is that mainframe is the only platform where TRIGGER(EVERY) is not a bad idea; both because of the enormous horsepower at your disposal but more importantly because CICS provides a mechanism by which transactions can be throttled. This stops you getting the damaging "transaction explosion" which is an issue with TRIGGER(EVERY).

Identify exactly where your client feels the bottlenecks are, and design for those. It's always a little dubious building a new system to a given design "because that's how the old system worked". This is a new set up and despite your client's initial & instinctive desire to have the same load balancing, it's worth at least evaluating that desire to see if this new system offers new & currently unrealised advantages.

Worst case - shrug and do what you're doing. You can't lose.


Basically the client wants to load balance the execution of the CICS transactions that's it! MQ is there only to deliverer the requests and do load balancing between the execution of the CICS transactions. If I am using 1 QM with a trigger monitor is there a way to load balance the execution of CICS transactions on 2 CICS regions?

Also, can someone confirm that 2 trigger monitors (CKTI) cannot run on the same INITQ?
Back to top
View user's profile Send private message
Vitor
PostPosted: Fri Jan 23, 2009 6:34 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

Maximus wrote:
If I am using 1 QM with a trigger monitor is there a way to load balance the execution of CICS transactions on 2 CICS regions?


No - the queue manager is bound to the CICS region.

Maximus wrote:
can someone confirm that 2 trigger monitors (CKTI) cannot run on the same INITQ?


This is correct, they can't and you wouldn't want them to.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
Maximus
PostPosted: Fri Jan 23, 2009 6:43 am    Post subject: Reply with quote

Acolyte

Joined: 14 Jun 2004
Posts: 57

Vitor wrote:
Maximus wrote:
If I am using 1 QM with a trigger monitor is there a way to load balance the execution of CICS transactions on 2 CICS regions?


No - the queue manager is bound to the CICS region.

Maximus wrote:
can someone confirm that 2 trigger monitors (CKTI) cannot run on the same INITQ?


This is correct, they can't and you wouldn't want them to.



Vitor, do you agree that in my situation, using 2 QM in cluster to load balance CICS transactions between 2 CICS region is a good architectural choice?
Back to top
View user's profile Send private message
Vitor
PostPosted: Fri Jan 23, 2009 6:54 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

Maximus wrote:
Vitor, do you agree that in my situation, using 2 QM in cluster to load balance CICS transactions between 2 CICS region is a good architectural choice?


If that's what the client's decided...

Maximus wrote:
Basically the client wants to load balance the execution of the CICS transactions that's it!


...then this is really your only choice!

I stand by my earlier comments, but only you really know your situation, circumstances, restrictions, etc, etc.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
Mr Butcher
PostPosted: Fri Jan 23, 2009 7:03 am    Post subject: Reply with quote

Padawan

Joined: 23 May 2005
Posts: 1716

Quote:
Vitor wrote:
Quote:
Maximus wrote:
If I am using 1 QM with a trigger monitor is there a way to load balance the execution of CICS transactions on 2 CICS regions?


No - the queue manager is bound to the CICS region.


are you sure? afaik it is the other way round. CICS region is bound to a single MQ at one time. but multiple cics can connect to a single MQ, if it is all on the same lpar.......

or am i wrong ?!?
_________________
Regards, Butcher
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2, 3  Next Page 1 of 3

MQSeries.net Forum Index » Mainframe, CICS, TXSeries » Using Clustering with CICS MRO... any issue?
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.