Author |
Message
|
tellmey |
Posted: Mon Feb 14, 2005 6:49 am Post subject: (resolved) simple workload balancing question |
|
|
 Novice
Joined: 26 May 2004 Posts: 19
|
From a Qmgr QM1 which is not part of the cluster say C , can you put messages on a cluster queue and still acheive load balancing?
Last edited by tellmey on Wed Feb 16, 2005 6:05 am; edited 1 time in total |
|
Back to top |
|
 |
jefflowrey |
Posted: Mon Feb 14, 2005 6:54 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
This is essentially what a gateway queue manager is for.
What you need is to define a regular connection from QM1 to some QMX in Cluster C where QMX does not host a copy of the Queue A.
Then any puts on QM1 to the remote Queue A (either a remote queue definition or using a Qmgr Alias) will be routed to the cluster using the standard load balancing for a cluster queue that does not have a local instance. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
tellmey |
Posted: Mon Feb 14, 2005 7:04 am Post subject: Thanks |
|
|
 Novice
Joined: 26 May 2004 Posts: 19
|
Thanks so much for the reply.
Shall try it out! |
|
Back to top |
|
 |
tellmey |
Posted: Mon Feb 14, 2005 2:20 pm Post subject: |
|
|
 Novice
Joined: 26 May 2004 Posts: 19
|
well we have tried it out.
the messages are landing in the dead letter queue(with 2085) of the gateway queue manager when we put messages from a remote qmgr to the cluster queue.
but when we put messages locally using amqsput directly on the gateway queue mgr , everything works fine. Balancing is acheived.
any info ??
BTW,the event viewer has warning:
Quote: |
Event Type: Warning
Event Source: WebSphere MQ
Event Category: None
Event ID: 9544
Date: 2/14/2005
Time: 5:29:14 PM
User: N/A
Computer: CP870
Description:
Messages not put to destination queue.
During the processing of channel 'QM444.TO.QM_REP' one or more messages could not be put to the destination queue and attempts were made to put them to a dead-letter queue. The location of the queue is 1, where 1 is the local dead-letter queue and 2 is the remote dead-letter queue.
Examine the contents of the dead-letter queue. Each message is contained in a structure that describes why the message was put to the queue, and to where it was originally addressed. Also look at previous error messages to see if the attempt to put messages to a dead-letter queue failed. The program identifier (PID) of the processing program was '5724(5792)'.
|
|
|
Back to top |
|
 |
Nigelg |
Posted: Mon Feb 14, 2005 3:29 pm Post subject: |
|
|
Grand Master
Joined: 02 Aug 2004 Posts: 1046
|
The 2085 is because the queue does not exist on the specified qmgr. When you put from outside the cluster, the xmitq header will contain the name of the queue and the name of the gateway qmgr. When the msg arrives at the cluster qmgr, the MCA wil attempt to put the msg to the named qmgr. The result is that the msg will go only to the queue on the gateway qmgr, or will go the DLQ with 2085 because the queue does not exist on the gateway.
The solution is described in the Clusters manual, putting msgs from outside the cluster - alternative
Create a qmgr alias on the gateway qmgr, with a blank RQMNAME. Create a remote queue on the qmgr outside the cluster with the qmgr alias name as the RQMNAME. When the msg arrives at the gateway, the blank qmgr name from the alias wil be substituted for the qmgr alias name - because the qmgr is blank, this will drive the cluster workload balancing. |
|
Back to top |
|
 |
tellmey |
Posted: Wed Feb 16, 2005 6:03 am Post subject: |
|
|
 Novice
Joined: 26 May 2004 Posts: 19
|
Works like a charm !
Thanks guys for your help. |
|
Back to top |
|
 |
|