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
