-
Story
-
Resolution: Won't Do
-
Undefined
-
None
-
AMQ 7.11.0.GA
-
None
-
False
-
None
-
False
-
-
Using the OFF_WITH_REDISTRIBUTION load balancing policy in combination with a non-zero redistribution delay allows messages to be retained preferentially on brokers that have local-connected consumers. This is important in a broker mesh, because messages will not be passed over a network from one broker to another unless no locally-connected client consumes the message within the set time.
Using this policy provides the reliability and scalability of a mesh, while minimizing inter-broker traffic.
This is a request for the same policy to operate on shared durable topic subscribers.
At present, load balancing policies apply strictly to queues, and not to the queue-like semantics of a shared durable subscriber. Traditionally, topics are not subject to selectable load-balancing policies at all, because JMS 1.1 required that all subscribers get a copy of the message. No decision had to be made about how to route the message between brokers in a mesh. Since the introduction of shared durable subscribers in JMS 2.0, this strict distinction between queues and topics is less appropriate, because shared durable subscribers have both queue-like and topic-like semantics.
JMS 2.0 addressed a significant limitation in earlier specifications, in that it was not formerly possible to implement sets of subscribers on a topic, where the subscriber set shared the message load. However, at present the full benefit cannot be realized in a mesh, because messages are distributed across the mesh when there is no reason to do so.
All the reasons that might be given for applying the OFF_WITH_REDISTRIBUTION policy to queues apply equally to shared durable consumers. Of course it won't always be appropriate to favour distribution to locally-connected consumers, but it would be helpful if it were possible to do so, when it was appropriate. At present, it is not possible.
- relates to
-
ENTMQBR-8131 Queue federation - pull messages on demand in batches, tracking local queue backlog
- Closed