Load balancing should work across brokers.  The issue of message groups
working across multiple brokers is a  different one.  Want to tackle each
one separately?   Also, submitting junit tests showing the problem is the
best way for folks to get involved.  Perhaps some out there figures out how
to fix your test cases and submits a patch.

Regards,
Hiram

On 7/22/06, Sanjiv Jivan <[EMAIL PROTECTED]> wrote:

James, Hiram any thoughts on this?

---------- Forwarded message ----------
From: Sanjiv Jivan <[EMAIL PROTECTED]>
Date: Jul 6, 2006 10:41 AM
Subject: load balancing across network of brokers
To: [email protected]

This is related to the discussions in the "detaching message group
affinity" thread
(
http://www.nabble.com/detaching-message-group-affinity-tf1801568.html#a4910294
)

Here's my deployment configuration. I have multiple "servers", each of
which
embed a activemq broker. The server app is the only recipient of its
embedded broker inbound messages. The embedded brokers are configured as a
"Network of brokers" ie a peer topology.

Is load balancing supported in such a deployment? For example when a
client
sends multiple messages to the network of brokers ( ie broker URL like
"discovery:multicast://myapp"), will the messages be load balanced across
all the brokers in the peer network? If so, I'm not seeing this behavior.
In
a configuration with 2 servers (w/ embedded brokers), when a client sends
30
messages, 28 of them go to one broker and only a couple of them go to the
other broker.

In another thread James mentioned that "there is no global cross-broker
load
balancing.". So I'm guessing this sort of load balancing is not supported.
Can support for this be added? The client already is aware of the list of
brokers that are part of the peer network so a simple round robin style
load
balancing should not be too complicated. Additionally if message groups
are
involved, a check could be made at the client to see if a message with
that
message group already had a assigned broker and if so send it to that one,
else pick another broker from the list of brokers and assign the message
group to this broker.

I have described my use case along with code here :
http://issues.apache.org/activemq/browse/AMQ-762

I would like to know if this is something you'd consider else I'll have to
look for alternate solutions like using a distributed hash map and add the
logic in the client to carry out such cross broker load balancing which
also
respects message groups. I'd rather not go down this path since ActiveMQ
already has a distributed map of brokers that the client is aware of and
it
almost supports what I require.

Thanks,
Sanjiv

---------- Forwarded message ----------
From: James Strachan <[EMAIL PROTECTED]>
Date: Jun 19, 2006 10:49 AM
Subject: Re: detaching message group affinity
To: [email protected]

On 6/17/06, Sanjiv Jivan < [EMAIL PROTECTED]> wrote:
> The Message Group functionality of Active MQ 4.0 is really neat. I have
a
> couple of questions regarding this
>
> 1. Is this feature fully supported/tested with the P2P discovery style
> broker topology? Are they any test cases or samples I can try. I looked
for
> them in the source but wasn't able to locate them. And when I tried
running
> such a scenario, I did not see a proper load balancing (even round robin
> style) of message groups across available brokers. When messages
belonging
> to different message groups are sent, oftentimes only one or a small
> percentage of running brokers are chosen as recipients. As a result I
end
up
> with some brokers that are overloaded while others are sitting idle.

Generally Message Groups only apply to the broker which you are using;
there is no global cross-broker load balancing. So its intended when
using a traditional client-broker topology rather than a peer based
network.

Though I'm surprised that you are finding on a single broker it is not
load balancing requests across multiple brokers. Are you sure there
are suitable consumers on those brokers?




--
Regards,
Hiram

Blog: http://hiramchirino.com

Reply via email to