Bidirectional links are fine, and automatically detect loops. Tree,
star, or line topologies are fine too, and bidirectional links between
any pair of brokers are fine. A ring topology is also possible, if only
unidirectional links are used.
Here's the rule:
For any pair of nodes A,B in a federated network, there should be only
one path from A to B. If there is more than one path, message loops can
cause duplicate message transmission and flood the federated network.
The topologies discussed above do not have message loops. A ring
topology with bidirectional links is one example of a topology that does
cause this problem, because a given broker can receive the same message
from two different brokers. Mesh topologies can also cause this problem.
Every message transfer takes time. For better performance, you should
minimize the number of brokers between the message origin and final
destination. In most cases, tree or star topologies do this best.
Hope this helps!
Jonathan
H. Charles Tang wrote:
Have created 2 static routes as follows between our 2 qpid daemons housed on
two linux hosts respectively:
qpid-route route add host1:5000 host2:5000 amq.topic topic.foo
qpid-route route add host2:5000 host1:5000 amq.topic topic.foo
Does this create an infinite loop for a message between 2 qpids?
Our experiment confirmed the looping scenario.
Then how does one create a bi-directional route? or how do we
interpret the following in the qpid documentation:
"Routes are unidirectional. A single route provides for the flow of messages in one
direction across a link. If bidirectional connectivity is required (and it almost always
is), then a pair of routes must be created, one for each direction of message flow."
Finally does qpid (daemon) do loop detection/handling?
Thanks.
Charles
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]