Carl Trieloff wrote:
For load distributing ordering is (may I say) never a requirement. - priority however should be honored. why can't load distribution be a special case of an exchange, allowing the clustering to be simplified to just the active-passive logic?

Strict ordering may not be, but you wouldn't want to have too much variability(?). Doing load-balancing in the exchange by just routing messages to one of several queues I have no problem with. But extending that role to dequeue messages from longer queues and enqueue them to shorter ones didn't seem like the right design to me. A distributed queue seemed to more accurately reflect what is required and also be more generally applicable.

However, as Alan rightly points out, the success of any approach needs to be measured in how well it realises the desired increase in scalability. Getting a solution that works also involves a lot more than writing a sentence or two on what 'feels right' from a design perspective. On top of that I think I came in mid-way through the conversation, began by merely asking a question and got sucked in to thinking aloud. I therefore withdraw my opinions as being premature, speculative and based on an incomplete understanding of the problem space.

[As an aside, if we are talking here of clustering for scalability rather than fault tolerance, I am not sure that active-passive logic has a role. All the brokers would be active or there wouldn't be a gain in scalability.]


Reply via email to