You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by SuperOook <fu...@scheidt-bachmann-st.de> on 2016/02/18 08:12:15 UTC

Limitations for global topics in a ring of brokers

Hi there,

what are the exact limitations of topics which are spread over a cluster of
brokers? I want to use a mesh- or ring-topology with potentially quite a few
brokers (~10-150).

The wiki says [1] 

Distributed Topics in Store/Forward
For topics the above algorithm is followed except, every interested client
receives a copy of the message - plus ActiveMQ will check for loops (to
avoid a message flowing infinitely around a ring of brokers).

What exactly does "will check for loops" mean? Will ActiveMQ still allow and
correctly handle distributed topics when there are loops in the network? Or
will it just somehow abort and not allow to use distributed topics when
there are loops? The latter is the case for some other JMS implementations I
used, e.g. the Tibc* EMS; which is quite a strong limitation. Any other
limitations? Maybe about durable topics in a looped cluster?

Is there any further documentation about handling of loops available? I
found some nice explanations with RH A-MQ about self-avoiding paths [2] or
the different topologies [3]. However, the text about self-avoiding paths
only explicitly addresses Queues.

Cheers,
Hauke


[1] http://activemq.apache.org/how-do-distributed-queues-work.html
[2]
https://access.redhat.com/documentation/en-US/Red_Hat_JBoss_A-MQ/6.2/html/Using_Networks_of_Brokers/FMQNetworksMessagePropagation.html
[3]
https://access.redhat.com/documentation/en-US/Red_Hat_JBoss_A-MQ/6.2/html/Using_Networks_of_Brokers/FMQNetworksTopologies.html



--
View this message in context: http://activemq.2283324.n4.nabble.com/Limitations-for-global-topics-in-a-ring-of-brokers-tp4707717.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Re: Limitations for global topics in a ring of brokers

Posted by artnaseef <ar...@artnaseef.com>.
Loop detection is per-message.  As messages traverse the network of brokers,
an internal property on the message remembers which brokers were visited,
and each broker will refuse to send it to that broker again.

Note that topics with non-durable subscriptions in a network of brokers have
reliability issues that are not detectable by consumers.  If the connection
between two brokers is lost, any messages received by either broker on a
topic will fail to forward to the other broker after the connection is
re-established, unless there is at least one durable subscription to that
topic that forces the message to flow across the bridge after the reconnect.

Also be careful with larger numbers of brokers and the use of advisories,
with demand forwarding of messages.  It is very important to measure
performance here.  Use of static routing here can come to the rescue, if
flow can be limited to "one" direction across the network for each topic.



--
View this message in context: http://activemq.2283324.n4.nabble.com/Limitations-for-global-topics-in-a-ring-of-brokers-tp4707717p4707907.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.