Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Abandoned
-
5.1.0
-
Linux 2.6.25, Java 1.6.0._07
Description
In a network of brokers, any subscription to a topic causes a network load that is related to the number of brokers with quadratic order.
On subscription to a topic, the broker where the subscription is done sends a control-message to all other brokers. Every broker reacts on this control-message by sending another control-message to all other brokers. The same happens on every unsubscribing from a topic. This implies, that the network load caused by a (un)subscription is governed by the term N*N, what kills scalability.
Interestingly, when subscribing to a queue, (as opposed to a topic) this 'evil' behaviour is observed only on the very first subscription to the queue.(i suppose when the queue is 'unknown' to the brokers) All subsequent subscriptions to a queue that has been subscribed to before by any client show only linear order, means: The broker where the subscription is made sends a control-message to all other brokers, but this does NOT trigger subsequent messages. Also, unsubscription from a topic always behaves the latter way.