|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
MQ Load Balance depend on queue depth |
« View previous topic :: View next topic » |
Author |
Message
|
Jonathl |
Posted: Wed Nov 12, 2003 10:35 am Post subject: MQ Load Balance depend on queue depth |
|
|
Newbie
Joined: 12 Nov 2003 Posts: 1
|
All:
I have the following scenario:
1. QM, QM1, QM2, QM3, QM4 are clustered, and each one on a different computer.
2. There's no queue in QM, all the queues in QM1, QM2, QM3, QM4 are identical.
3. QM is the Queue Manager that distributes all the messages to QM1, QM2, QM3, QM4.
I send out 8 messages from QM, it will evenly distributed to QM1, QM2, QM3, QM4. Now some of the message will take a long time to process, let say the message went to QM1 will take 20hrs to process, while the messages in QM4 will take only 2 seconds. the messages in QM2 and QM3 will take say five minutes. so 3 seconds later we are sending more messages.
Quetion:
1. How can we send the message to the Queue Managers that is least busy(in this case QM4 is waiting for messages, while others are busy processing)?
2. If all the messages went to QM4 got processed fairly quick, is there a way we can dynamically move messages from other Queue Managers to the least busy one and get them processed there?
Thanks a lot.
Jonathan |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Nov 12, 2003 10:52 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
1) write your own cluster workload exit.
2) use message expiration, report with full data, and have an application extract the message from the report and repost it to the original "queue".
But this will only deal with the case when a particular queue is taking "a long time" to get serviced.
There's no built-in way to detect that a particular queue is getting serviced "very quickly". You'd have to write something that would act as a client to each QM that hosted a local queue and could pull messages and resubmit them to an empty queue. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
oz1ccg |
Posted: Wed Nov 12, 2003 4:14 pm Post subject: |
|
|
 Yatiri
Joined: 10 Feb 2002 Posts: 628 Location: Denmark
|
If you choose solution one with the intelligent CLWL-exit, you could add a agent-process on each cluster qmgr, that was telling each other about the situation, and adjust the algorithm based on this feedback.
This might require shared storage between the agent and the CLWL-exit, I'll state even a simple CLWL exit is hard to code, and difficult to test, they can play "ping-pong" easily, but such things only happens to me.
Another aspect I saw with the standard routing, is the only foolproof way to be shure not to receive anything (leave the cluster for eg. service is to stop the listener and channel initiator. If I used SUSPEND, the others might still choose me.....
Just my $0.02  _________________ Regards, Jørgen
Home of BlockIP2, the last free MQ Security exit ver. 3.00
Cert. on WMQ, WBIMB, SWIFT. |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
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
|
|
|
|