This functionality isn't supported, and while it may be technically
feasible to implement I'm not sure how much sense it makes overall.

The whole point of clustering multiple brokers together is to increase
overall message throughput via horizontal scaling. This implies increasing
concurrency. However, sharing state like this between brokers in a reliable
and deterministic way requires synchronization which is a key enemy of
concurrency and performance. I'll have a think about how this could
possibly be implemented without invalidating the purpose of clustering in
the first place.

In the meantime, could you elaborate on your use-case and why you're using
a cluster in the first place? I've often seen users implement clustering
without appreciating the nuanced performance considerations [1].


Justin

[1]
https://github.com/apache/activemq-artemis/blob/main/docs/user-manual/en/clusters.md#performance-considerations

On Mon, Mar 20, 2023 at 9:37 AM Shields, Paul Michael <paul.shie...@hpe.com>
wrote:

> Hi,
>
> I have a clustered broker setup using loadbalance feature.  I am having
> trouble getting MQTT retained messages feature to have the same last
> messages available on each of the brokers in my cluster.  I need each
> client that connects to any of the brokers in the cluster to receive all
> the retained messages from all brokers, so they have a complete view of my
> system.  I have tried this in the broker config file but it does not
> replicate all the retained messages to each broker.  What other parameters
> do I need to set to get all retained messages to any connecting client? Any
> help greatly appreciated.
>
>       <address-settings>
>          <!--default for catch all-->
>          <address-setting match="#">
>             <redistribution-delay>0</redistribution-delay>
>             <dead-letter-address>DLQ</dead-letter-address>
>             <expiry-address>ExpiryQueue</expiry-address>
>             <redelivery-delay>0</redelivery-delay>
>             <auto-create-queues>true</auto-create-queues>
>             <auto-create-addresses>true</auto-create-addresses>
>             <auto-delete-queues>false</auto-delete-queues>
>             <auto-delete-addresses>false</auto-delete-addresses>
>          </address-setting>
>       </address-settings>
>
> Best Regards,
> Paul Shields
>

Reply via email to