Author |
Message
|
Dj_Spacer |
Posted: Tue Dec 25, 2007 3:29 am Post subject: WebSphere MQ cluster + WebSphere AS 6.0 cluster |
|
|
Novice
Joined: 24 Dec 2007 Posts: 10 Location: RUSSIA,MOSCOW
|
Hello, i have some questions about WebSphere MQ cluster + WebSphere AS 6.0 cluster.
I have WebSphere Mq cluster containing 4 queue managers in it which is binded with WebSphere AS 6.0 cluster containing 2 members and with backup standalone WebSphere AS 6.0 server.
Base workload is going through WebSphere AS 6.0 cluster, but when somethig happens on WebSphere AS 6.0 cluster (ex: one member of WebSphere AS 6.0 cluster is down) a part of the workload switch to the backup WebSphere AS 6.0 server.
WebSphere MQ Configuration:
4 Queueu managers full repository (M1-M4)
M1 - input queue manager ( all input channels and queues)
M2 - M4 - output queue managers
M2 - has 1 REMOTE queue to backup server WebSphere AS 6.0 (put disabled in normal working)
TRQ for REMOTE queue
SENDER Channel to WebSphere AS 6.0 backup server
M3 - has 1 REMOTE queue to WebSphere AS 6.0 cluster
TRQ for REMOTE queue
SENDER Channel to 1st member of WebSphere AS 6.0 cluster
M4 - has 1 REMOTE queue to WebSphere AS 6.0 cluster
TRQ for REMOTE queue
SENDER Channel to 2nd member of WebSphere AS 6.0 cluster
The base workload on WebSphere MQ cluster is 300 meseges per second.
I need to realize the following:
If the channel to the WebSphere AS 6.0 goes to state Retrying, it means that something happens on the WebSphere AS 6.0 cluster side and it needs to disable PUT on queue that link to WebSphere AS 6.0 and it needs to empy the TRQ queue.
The question is :
How to empty the TRQ queue, without resending messages, i.e. do something for the messages to go through another WebSphere AS 6.0 server or cluster member. ( Message is uniqe and it can't be regenerated) |
|
Back to top |
|
 |
jefflowrey |
Posted: Tue Dec 25, 2007 10:25 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
You need to configure more than one app server to read messages from the queue.
You don't need to configure MQ to move messages based on the availability of an app server. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue Dec 25, 2007 5:01 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
From what you are specifying it looks like you are using WAS SIBUS JMS engine.
Your connection to the engine (sender chl) will be a single point of failure unless you can have a single IP/DNS name act for access to the nearest running instance of the JMS Engine on the SIBUS...
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
Dj_Spacer |
Posted: Thu Dec 27, 2007 7:31 am Post subject: |
|
|
Novice
Joined: 24 Dec 2007 Posts: 10 Location: RUSSIA,MOSCOW
|
jefflowrey wrote: |
You need to configure more than one app server to read messages from the queue.
You don't need to configure MQ to move messages based on the availability of an app server. |
My app sever did not read messages from MQ queue, i have REMOTE queue witch send messages to APP server.
Quote: |
From what you are specifying it looks like you are using WAS SIBUS JMS engine. |
Yes i'm using WAS SIBBUS.
Quote: |
Your connection to the engine (sender chl) will be a single point of failure unless you can have a single IP/DNS name act for access to the nearest running instance of the JMS Engine on the SIBUS... |
I don't have an opportunity to have single IP name.(if i understand you correctly).
I have another "problem", i have 2 INBOUND MQLINK PORTs on app server, and every channel is specifyed to one of that ports.
I decided to do "switching" shell script witch execute MQSC command, when something happens ob app server, like this:
ALTRE CHANNEL(CHANNEL1) CHLTYPE(SDR) CONNAME(NEW.HOST.PORT)
I think it must work, and when the APP server back to normal work, alter the conname back.
What can you say about this?
I hope you understend me, my English is not good. _________________ Еxcuse me my English is not good. |
|
Back to top |
|
 |
fjb_saper |
Posted: Thu Dec 27, 2007 2:52 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Changing the channel (i.e. conname is not so good)
What you should do instead is set up 2 channels on the routing / gateway qmgr. The 2 channels will share the same xmitq. Make sure the channel name is in the xmitq to be triggered.
When one of the instances / channels goes down use your script to stop said channel and alter the xmitq to point to the other channel and start the other channel. This way you do not get channel sequence numbers out of sync, nor would any message wait as the xmitq is shared. Remember that only one channel can be active at a time.
Remember as well that your gateway qmgr to the SIBUS has also become a single point of failure... make sure it is highly available...
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
mqsatish |
Posted: Mon Jan 07, 2008 6:53 am Post subject: shell script |
|
|
Newbie
Joined: 13 Dec 2006 Posts: 2
|
but how do we make sure that the shell script used for switching the channels is fail proof.Can you please share the shell script or outline how it should be written.
Many thanks
satish |
|
Back to top |
|
 |
|