Sounds like a nightmare to me. Maybe I don't understand what you're trying to accomplish, but I think something like Hadoop would be a better fit for this kind of problem.
Bryan On Fri, Sep 5, 2008 at 12:10 PM, Martin_Cornelius < [EMAIL PROTECTED]> wrote: > > Hi all, > > i am currently evaluating the scalability of Networks of ActiveMQ Brokers > with a large number of brokers. The actual drive behind this evaluation: I > have to design a distributed system that is completely serverless. It shall > be possible to switch of any of the machines in the system without alloying > the distributed functionality. The number of active machines in the system > might vary from only 2 to about 100. > > My current idea: Have an (presumably embedded) ActiveMQ Broker running on > any of the machines, and let all this Brokers form a 'Network of Brokers' > (abbreviated NOB in the follwing) > > So far, i found that in an NOB a message is forwarded only to those brokers > where at least one client has subscribed to the topic resp. queue the > message is sent to. Really fine. If a client subscribes to a queue, the > broker where the subscription is made sends a single short control-message > to all other brokers of the NOB. That would still allow for thousands of > brokers, fine again. > > However, i just realized one fact that may compromise scalabilty: If a > client subscribes to a topic, the broker where the subscription is done > sends a not-so-short control-message to all other brokers. So far not too > bad, but now comes the problem: Every broker seems to react on this > control-message by sending another not-so-short control-message to all > other > brokers. This means, if N brokers are present, every subscription to a > topic > results in about (N-1)*N*2 control-messages (The additional factor two > comes > from the fact, that the final recipient-broker seems to send another > response control-message). BTW, The length of the control-messages being > sent seems to be closely related to the string length of the topic name. > > I have verified this behaviour with only up to 6 brokers, so i'm not > totally > shure if it will extrapolate to a larger number, but i suspect it does. > This > would mean, that with e.g. 100 Brokers every subscription to a topic would > result in 100*99*2 control messages being sent. If a single control message > has about 400 bytes (what i observed), this means a single subscription to > a > topic would result in about 8 Megabyte network traffic. This might even be > sustainable, but the quadratic order kills scalabilty -- with 1000 Brokers > we would have to transfer about 1 Gigabyte, what is no longer feasible. > > Finally, my questions: Is there any configuration option by which this > quadratic order can be avoided, is my idea simply foolish, or are my > conclusions wrong ? Note that i gained my conclusions more or less > 'empirically' using wireshark. > > thanks for any advice, Martin > > -- > View this message in context: > http://www.nabble.com/Scalability-of-%27Networks-of-Brokers%27-tp19335699p19335699.html > Sent from the ActiveMQ - User mailing list archive at Nabble.com. >