I am evaluating ActiveMQ Artemis as a potential replacement for SonicMQ. In Sonic, we have the ability for a client producing a message to determine the final broker destination.
Simplified example:
- We have a broker in each of two regions: Europe and Americas.
- Each broker holds an identically named set of queues (e.g.: europe::q1 and americas::q1)
- Clients are restricted to connecting only to their local broker but have the ability to define the destination queue as being managed by a remote broker.
For instance, a client in Europe may post a message to:
- "q1": Destination is europe::q1
- "americas::q1": Destination is the queue named "q1" in Americas:
- The Europe broker accepts the message before pushing it to the Americas broker.
If I understand the Artemis documentation, this behaviour may be configured on a permanent basis via Queue Federation.
Will Artemis allow for the final destination broker / queue to be determined on a per-message basis?