You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Rob Davies <ra...@gmail.com> on 2008/05/12 08:52:59 UTC

Re: Routing algorithm used in Active MQ

On 12 May 2008, at 04:11, Mohammad Reza Selim wrote:

> Hi,
>
> It would be helpful for my research if
> someone could answer my question.
>
> My (theoretical) scenario is that there are, say, 200 branches of an
> enterprise around the world. There are many clients (say 100)
> running in each branch. Those clients want a messaging service to
> communicate among them. One way is to deploy in each branch an  
> Active MQ broker
> and let clients of a branch connect the broker in its own branch.  My
> question is how the messages from one client will be routed to another
> client. I am interested to know the routing mechanism/algorithm and  
> it's
> complexity. As there are many clients and each can create it's own  
> queue in the broker, the roting should really be an
> issue here (according to my view).
>
> For your information, MSMQ uses an algorithm called "Binary Reliable  
> Message Routing Algorithm" which creates a least cost spanning tree  
> among the brokers.
>
> Thanking in advanced.
>
>
> Mohammad Reza Selim
>
>
>       
> ____________________________________________________________________________________
> Be a better friend, newshound, and
> know-it-all with Yahoo! Mobile.  Try it now.  http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ



ActiveMQ  uses a combination of dynamic subscription based routing  
(which involves subscription based aggregation to reduce the size of  
the routing tables) and network time-to-live across network hops to  
reduce the chance of looping within a network. Messages are also  
tagged with a brokerId, to prevent them passing through the same  
broker twice.



cheers,

Rob

http://open.iona.com/ -Enterprise Open Integration
http://rajdavies.blogspot.com/