Author |
Message
|
loudcfla |
Posted: Fri May 18, 2007 11:37 am Post subject: Single point of failure |
|
|
Acolyte
Joined: 05 May 2002 Posts: 58
|
Hello,
We are trying to reduce our single point of failure. Simply speaking, I have a single z/os image, a queue manager and a cics connected to the queue manager. I also have queue mangers on SUN communicating back and forth but thats not my problem for this question.
If I loose the CICS or the queue manager I have a failure. Could I duplicate this environment and have the programs determine if one set is down use the other set?
What about if we bought a coupling facility, would that help us out?
i really need some help with this. |
|
Back to top |
|
 |
cicsprog |
Posted: Fri May 18, 2007 11:55 am Post subject: |
|
|
Partisan
Joined: 27 Jan 2002 Posts: 347
|
How about a second CICS (redundent application in CICS) and MQM on another LPAR and the Q's in a cluster? Poor mans failover but works. Obviously you'd need a second LPAR in addition. If you loose just CICS, then messages will still be delivered to QM1 unless you take action against the clustered Q in QM1.
Last edited by cicsprog on Fri May 18, 2007 12:10 pm; edited 1 time in total |
|
Back to top |
|
 |
loudcfla |
Posted: Fri May 18, 2007 12:10 pm Post subject: |
|
|
Acolyte
Joined: 05 May 2002 Posts: 58
|
Sounds good, can you elaborate some? Especially queues in the cluster?
Would I need the coupling facility?
How would the program know that either QM or CICS failed so go to the LPAR Qm and CICS? |
|
Back to top |
|
 |
cicsprog |
Posted: Fri May 18, 2007 12:18 pm Post subject: |
|
|
Partisan
Joined: 27 Jan 2002 Posts: 347
|
You would not need a Coupling Facility. Read the MQ Clustering Manual. It gives a simplistic approach to implementing a MQ CLUSTER. Your non-MVS platform QManagers would need to participate in the cluster.
SHARED Q’s would account for the CICS failure. However, you’d need a Coupling Facility structure to do that, a second LPAR, and DB2 software. This can be an expensive configuration unless your current hardware has the capacity (IBM Operators are standing by for your credit card number ).. V6 of MQ allows for 100mb messages if I remember right. I've also never liked the recovery scenario that SHARED Q's requires. IBM needs to make that better. |
|
Back to top |
|
 |
zpat |
Posted: Sat May 19, 2007 12:24 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
Run a second CICS region and process the same queues in both regions using long-running CICS tasks which MQGET with WAIT on the same queues.
Anything more is very expensive to set up and one LPAR will usually provide 100% uptime anyway except for planned outages.
You don't need MQ clustering to do this. |
|
Back to top |
|
 |
loudcfla |
Posted: Mon May 21, 2007 4:48 am Post subject: |
|
|
Acolyte
Joined: 05 May 2002 Posts: 58
|
I thought that you could only have one qmgr connected to a CICS region.
So if I put up another CICS, can I connect it to the current qmgr?
MQP1 ---> CICSF1P5
MQP1 ---> CICSF1P8 |
|
Back to top |
|
 |
zpat |
Posted: Mon May 21, 2007 5:33 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
You can have hundreds of CICS regions connecting to one queue manager if you want to. |
|
Back to top |
|
 |
loudcfla |
Posted: Mon May 21, 2007 5:37 am Post subject: |
|
|
Acolyte
Joined: 05 May 2002 Posts: 58
|
Okay, can they all use the same queues?
CKQCM2 Display Connection panel
Read connection information. Then press F12 to cancel.
CICS Applid = CICSF1P5 Connection Status = Connected QMgr name= MQP1
Trace Num = 001 Tracing = On API Exit = On
Initiation Queue Name = CICSP5.INITQ |
|
Back to top |
|
 |
zpat |
Posted: Mon May 21, 2007 6:45 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
They can use the same application queues (open input queues as shared).
They would normally have their own initiation and other system queues.
For message load-balancing over CICS regions with MQ you don't use triggering.
It will be necessary to code the application to perform MQGET WAIT in a loop, or use a generic program which does this and then starts the underlying transaction.
Then you run this "long-running" transaction once or more times concurrently in a given CICS region, and/or in multiple CICS regions. |
|
Back to top |
|
 |
|