Author |
Message
|
KumarK |
Posted: Tue Jul 17, 2018 11:28 pm Post subject: MQ&IIB ACTIVE-ACTIVE GATEWAY SCENARIOS |
|
|
Newbie
Joined: 17 Jul 2018 Posts: 4
|
Hi Folks we have a scenario as below , kindly help/suggest...
We have a Requirement like - to load balance the request and reponse messages through active/active Gateway queuemanagers.
Queuemanager inside the MQ cluster
CLUSQM1-Application Queuemanager1(Active)
CLUSQM2-Application Queuemanager2(Active)
CLUSGW1-Gateway Queuemanager1(Active)
CLUSGW2-Gateway Queuemanager2(Active)
External Queuemanager outside the MQ cluster
EXTQMGR
EXTQMGR<---->CLUSGW1<--->CLUSQM1&CLUSQM2
EXTQMGR<---->CLUSGW2<--->CLUSQM1&CLUSQM2
External queumanager will send the request messages to the any of the cluster gateway queuemanagers and the cluster gateway queuemanagers route to the messages equally to active-active application queuemanagers respectively.
Active-active application queuemanagers will send the response messages back to the any of the cluster gateway queuemanagers and the cluster gateway queuemanagers route all the messages(from CLUSQM1&CLUSQM2) to External queumanager.
Without Multi-instance how can we achieve the below cases through Gateway Queuemanagers
CASE1: Both gateways are up and running(working fine)
CASE2: Gateway1 down and Gateway2 up(First message lost)
While the Gateway1 is down the Gateway2 queuemanager should send/recieve the messages to/from the application queuemanagers i.e.CLUSQM1 & CLUSQM2
CASE3: Gateway2 down and Gateway1 up(First message lost)
While the Gateway2 is down the Gateway1 queuemanager should send/recieve the messages to/from the application queuemanagers i.e.CLUSQM1 & CLUSQM2
Your suggestions are highly appreciated... |
|
Back to top |
|
 |
Vitor |
Posted: Wed Jul 18, 2018 5:44 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
Can you confirm the external queue manager has 2 separate and distinct point to point connections to the gateway queue managers?
Can you confirm how inbound messages are addressed, specifically what value is used as the target queue manager name? _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
KumarK |
Posted: Wed Jul 18, 2018 10:39 pm Post subject: |
|
|
Newbie
Joined: 17 Jul 2018 Posts: 4
|
Code: |
1)External Queuemanager to GatewayQmgr1 and GatewayQmgr2
On External Queuemanager
DEF CHL('EXTQMGR.CLUSGW12') CHLTYPE(SDR) CONNAME('Gateway1_IP(2417),Gateway2_IP(2418)') XMITQ('SOURCE_XMITQ') TRPTYPE(TCP) DISCINT(0) replace
start channel('EXTQMGR.CLUSGW12')
DIS CHS('EXTQMGR.CLUSGW12')
on Gateway1
DEF CHL('EXTQMGR.CLUSGW12') CHLTYPE(RCVR) TRPTYPE(TCP) REPLACE
* On Gateway1, define Queue manager alias IN.CLUS.CLUSGW is used to route messages to WBNDQ01 and WBNDQ02.
DEF QR('IN.CLUS.CLUSGW') RQMNAME(' ') RNAME(' ') replace
on Gateway2
DEF CHL('EXTQMGR.CLUSGW12') CHLTYPE(RCVR) TRPTYPE(TCP) REPLACE
* On Gateway2, define Queue manager alias IN.CLUS.CLUSGW is used to route messages to WBNDQ01 and WBNDQ02.
DEF QR('IN.CLUS.CLUSGW') RQMNAME(' ') RNAME(' ') replace
2) Active active application Queuemanagers to External Queuemanager through Gateways
CLUSQM1
********************SENDING REPONSE FROM ACTIVE/ACTIVE QMGRS to MERVAQM through Gateways
* Route messages from CLUSTER to MERVAQM. On WBNDQ01 and WBNDQ02, define a remote queue mapping to send messages to MERVAQM
DEF QR('QR.RESPONSE.QA') RNAME('RESPONSE.QA') RQMNAME('OUT.CLUS.CLUSGW') XMITQ(' ') DEFPSIST(YES) CLUSTER('CLUSTER') replace
DEF QR('QR.RESPONSE.QB') RNAME('RESPONSE.QB') RQMNAME('OUT.CLUS.CLUSGW') XMITQ(' ') DEFPSIST(YES) CLUSTER('CLUSTER') replace
CLUSQM2
********************SENDING REPONSE FROM ACTIVE/ACTIVE QMGRS to MERVAQM through Gateways
* Route messages from CLUSTER to MERVAQM. On WBNDQ01 and WBNDQ02, define a remote queue mapping to send messages to MERVAQM
DEF QR('QR.RESPONSE.QA') RNAME('RESPONSE.QA') RQMNAME('OUT.CLUS.CLUSGW') XMITQ(' ') DEFPSIST(YES) CLUSTER('CLUSTER') replace
DEF QR('QR.RESPONSE.QB') RNAME('RESPONSE.QB') RQMNAME('OUT.CLUS.CLUSGW') XMITQ(' ') DEFPSIST(YES) CLUSTER('CLUSTER') replace
GATEWAY1
* On GATEWAY1, define Queue manager alias OUT.CLUS.CLUSGW is used to route messages from cluster to EXTQMGR
DEF QR('OUT.CLUS.CLUSGW') RQMNAME('EXTQMGR') XMITQ('CLUSGW_XMITQ') CLUSTER('CLUSTER') replace
GATEWAY2
* On GATEWAY2, define Queue manager alias OUT.CLUS.CLUSGW is used to route messages from cluster to EXTQMGR
DEF QR('OUT.CLUS.CLUSGW') RQMNAME('EXTQMGR') XMITQ('CLUSGW_XMITQ') CLUSTER('CLUSTER') replace
|
|
|
Back to top |
|
 |
gbaddeley |
Posted: Sun Jul 22, 2018 3:59 pm Post subject: |
|
|
 Jedi Knight
Joined: 25 Mar 2003 Posts: 2538 Location: Melbourne, Australia
|
Quote: |
Without Multi-instance how can we achieve the below cases through Gateway Queuemanagers |
I hope you are not referring to MQ's Multi Instance Queue Manager (MIQM) fetaure, as it has no relationship to your message routing requirements. _________________ Glenn |
|
Back to top |
|
 |
KumarK |
Posted: Mon Jul 23, 2018 4:23 am Post subject: |
|
|
Newbie
Joined: 17 Jul 2018 Posts: 4
|
Yes we are not referring Multi Instance Queue managers in our case. |
|
Back to top |
|
 |
KumarK |
Posted: Tue Aug 28, 2018 1:39 am Post subject: ANY ONE IMPLEMENTED this scenario??? |
|
|
Newbie
Joined: 17 Jul 2018 Posts: 4
|
|
Back to top |
|
 |
|