Author |
Message
|
shashivarungupta |
Posted: Fri Mar 27, 2009 3:05 am Post subject: Round Robin of the messages doesn't look up to the marks. |
|
|
 Grand Master
Joined: 24 Feb 2009 Posts: 1343 Location: Floating in space on a round rock.
|
Hi folk,
In a request reply scenario.
2 queue managers are in a cluster. Both are full repository.
1 instance of the input queue on each queue manager, which is shared in the cluster. Total 2 instances of the input queue in the cluster.
When application gives the reply back of the request message, the message is going to second queue manager most of the times.
I have refreshed the cluster and checked the queue and queue manager properties. All seems fine.
I don't understand why there is such behavior that most of the times reply messages are going to the second queue manager.
Out of 5 messages only one message goes to the first queue manager. It is I observed as general behavior.
Round Robin seems not to be working exactly as it should.
What should be the reason ?
Why its happening? |
|
Back to top |
|
 |
mqjeff |
Posted: Fri Mar 27, 2009 3:09 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
A Reply Message should *never* be cluster workload balanced.
There is exactly one instance of the requesting application that wants to receive a specific reply message, and that instance is listening to a specific queue on a specific queue manager. |
|
Back to top |
|
 |
shashivarungupta |
Posted: Fri Mar 27, 2009 3:21 am Post subject: |
|
|
 Grand Master
Joined: 24 Feb 2009 Posts: 1343 Location: Floating in space on a round rock.
|
mqjeff wrote: |
A Reply Message should *never* be cluster workload balanced.
There is exactly one instance of the requesting application that wants to receive a specific reply message, and that instance is listening to a specific queue on a specific queue manager. |
Agree !!
But in our architecture, we have reply queue defined on the gateway queue manager. Not on the broker queue manager.
And the applications connect to the Gateway queue manager.
As the reply queue is physically located at gateway queue manager, then while putting the reply message how the broker will come to know where the queue is. Thats why we got to share it in the cluster.
Requesting Appl.--> REQ Queue-->Broker---> IN queue--->Target Appli.
Requesting Appl.<---REPLY Queue<--Broker<---OUT queue<--Target App.
This is the structure we have.
REQ and OUT queues are on the broker queue manager.
IN and REPLY queues are on the gateway queue manager. |
|
Back to top |
|
 |
Vitor |
Posted: Fri Mar 27, 2009 3:33 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
shashivarungupta wrote: |
As the reply queue is physically located at gateway queue manager, then while putting the reply message how the broker will come to know where the queue is. |
Because the reply message should be addressed to the requestor.
shashivarungupta wrote: |
Thats why we got to share it in the cluster.
|
You have not got to share it in the cluster. You've got to define a route back to the correct queue manager (the gateway in your example if I have your topology straight). _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
shashivarungupta |
Posted: Fri Mar 27, 2009 3:44 am Post subject: |
|
|
 Grand Master
Joined: 24 Feb 2009 Posts: 1343 Location: Floating in space on a round rock.
|
Quote: |
As the reply queue is physically located at gateway queue manager, then while putting the reply message how the broker will come to know where the queue is. |
Quote: |
Vitor :
Because the reply message should be addressed to the requestor. |
Thats Right !! Thats what I am saying.
Quote: |
You have not got to share it in the cluster. You've got to define a route back to the correct queue manager (the gateway in your example if I have your topology straight). |
You mean to say, I should have defined the reply queue on the broker queue manager? Or a reply alias and remote queue on broker queue manager pointing to the reply local queue on the gateway queue manager? Or reply queue on the gateway queue manager and hard code on broker MQOutput node..where to put...i.e. queue manager and queue names.
These all options don't go with our architecture.
Anyways...
Do you have any other idea? OR
Could you please guide me in what scenarios round robin does not behave properly? |
|
Back to top |
|
 |
Vitor |
Posted: Fri Mar 27, 2009 3:51 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
shashivarungupta wrote: |
You mean to say, I should have defined the reply queue on the broker queue manager? Or a reply alias and remote queue on broker queue manager pointing to the reply local queue on the gateway queue manager? Or reply queue on the gateway queue manager and hard code on broker MQOutput node..where to put...i.e. queue manager and queue names.
These all options don't go with our architecture. |
Oh dear.
shashivarungupta wrote: |
Could you please guide me in what scenarios round robin does not behave properly? |
It's behaving properly here - it's doing exactly what you've told it to do. You've got a reply queue shared in a cluster so it's sharing the replies across them. It's not what you want it to do, but it's what you've told it to do.
If, as you say, your architecture forbids the direct routing options you specify above, you've got problems. Do post your solution when you find it; I for one will be interested. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
exerk |
Posted: Fri Mar 27, 2009 3:57 am Post subject: |
|
|
 Jedi Council
Joined: 02 Nov 2006 Posts: 6339
|
The outbound request message can be load-balanced amongst a number of queue managers which host the 'service' queue; the reply must go back to a specific queue manager (generalisation).
If you have a gateway queue manager, that should contain the necessary 'referencing objects' to forward any replies from any of the 'service' queue managers to the actual target queue manager specified in the request.
How you get to those 'referencing objects' is bread-and-butter clustering, as both mqjeff and Vitor have pointed out.
EDIT: If you have a requirement to do something which does not fit with your site 'architecture', instigate a review of that architecture and adapt it as required; the ostrich method is one sure path to a world of self-inflicted pain. _________________ It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys. |
|
Back to top |
|
 |
shashivarungupta |
Posted: Fri Mar 27, 2009 4:02 am Post subject: |
|
|
 Grand Master
Joined: 24 Feb 2009 Posts: 1343 Location: Floating in space on a round rock.
|
Quote: |
Oh dear.  |
At least this time.. post is not that easy. Now I don't owe a drink.
Anyways... you are always welcome, sir.
Quote: |
It's behaving properly here - it's doing exactly what you've told it to do. You've got a reply queue shared in a cluster so it's sharing the replies across them. |
Quote: |
It's not what you want it to do, but it's what you've told it to do. |
Its sharing the messages between the two instances of the queue but not evenly. Thats what I am worried about.
Quote: |
If, as you say, your architecture forbids the direct routing options you specify above, you've got problems. Do post your solution when you find it; I for one will be interested. |
Sure thing.  |
|
Back to top |
|
 |
Vitor |
Posted: Fri Mar 27, 2009 4:09 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
shashivarungupta wrote: |
Quote: |
Oh dear.  |
At least this time.. post is not that easy. Now I don't owe a drink.  |
I was referring to the slightly tragic point of your architecture forbidding all those objects. Your post is very straightforward, as a number of people have commented on.
The drink status remains questionable.
[quote="shashivarungupta"]Its sharing the messages between the two instances of the queue but not evenly. Thats what I am worried about.
There are a number of things which will cause this; check the clustering manual for a full explaination of the workload distribution, and what will bias it. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
Vitor |
Posted: Fri Mar 27, 2009 4:14 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
Fish of the day - how are the reply messages being sent? How are they addressed? _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
shashivarungupta |
Posted: Fri Mar 27, 2009 4:15 am Post subject: |
|
|
 Grand Master
Joined: 24 Feb 2009 Posts: 1343 Location: Floating in space on a round rock.
|
[quote="Vitor"]
shashivarungupta wrote: |
Quote: |
Oh dear.  |
At least this time.. post is not that easy. Now I don't owe a drink.  |
Quote: |
I was referring to the slightly tragic point of your architecture forbidding all those objects. Your post is very straightforward, as a number of people have commented on.
The drink status remains questionable.
|
Thanks for those posts. I'll check out. And if I'll find some way out in favor or against architecture then will post it.
 |
|
Back to top |
|
 |
exerk |
Posted: Fri Mar 27, 2009 4:16 am Post subject: |
|
|
 Jedi Council
Joined: 02 Nov 2006 Posts: 6339
|
shashivarungupta wrote: |
...Its sharing the messages between the two instances of the queue but not evenly. Thats what I am worried about... |
The REQUEST or the REPLY?
You wrote (in post 1):
shashivarungupta wrote: |
"...I don't understand why there is such behavior that most of the times reply messages are going to the second queue manager..." |
So that suggests to me one of two things:
1. I'm thoroughly confused, out of dried frog pills, and don't have a clue as to what you are trying to tell us, because you do not seem to understand the difference between a request and a reply.
2. That most messages are going to a particular queue manager because that one is generating more requests than the other.
At the moment I'm giving low odds on the first one... _________________ It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys. |
|
Back to top |
|
 |
exerk |
Posted: Fri Mar 27, 2009 4:17 am Post subject: |
|
|
 Jedi Council
Joined: 02 Nov 2006 Posts: 6339
|
Vitor wrote: |
Fish of the day - how are the reply messages being sent? How are they addressed? |
Ooh, ooh! I know this one...me sir, me sir!  _________________ It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys. |
|
Back to top |
|
 |
shashivarungupta |
Posted: Fri Mar 27, 2009 4:28 am Post subject: |
|
|
 Grand Master
Joined: 24 Feb 2009 Posts: 1343 Location: Floating in space on a round rock.
|
Quote: |
The REQUEST or the REPLY? |
Its Reply message, that all I have been talking about.
Quote: |
1. I'm thoroughly confused, out of dried frog pills, and don't have a clue as to what you are trying to tell us, because you do not seem to understand the difference between a request and a reply. |
I tried !!
Quote: |
2. That most messages are going to a particular queue manager because that one is generating more requests than the other.
At the moment I'm giving low odds on the first one...
|
But I got what you were trying to say. Thanks.
Quote: |
Fish of the day - how are the reply messages being sent? How are they addressed? |
I am not running behind at all. I am aware of the situation / circumstances. I know the answer but against the architecture. But that I don't want right now.  |
|
Back to top |
|
 |
exerk |
Posted: Fri Mar 27, 2009 4:37 am Post subject: |
|
|
 Jedi Council
Joined: 02 Nov 2006 Posts: 6339
|
shashivarungupta wrote: |
...Its Reply message, that all I have been talking about... |
Then what mqjeff stated originally holds true:
Quote: |
A Reply Message should *never* be cluster workload balanced.
There is exactly one instance of the requesting application that wants to receive a specific reply message, and that instance is listening to a specific queue on a specific queue manager. |
Therefore I am taking even shorter odds on this:
Quote: |
2. That most messages are going to a particular queue manager because that one is generating more requests than the other. |
_________________ It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys. |
|
Back to top |
|
 |
|