Currently i'm in the process of assessing Aeron for our High-frequency trading use case. As i see from the documentationm Aeron is basically the transport. Is that some higher level implementation like competing consumer, fair dispatch or pattern similiar with RabbitMQ ?
Thanks
The short answer is no.
The longer and more complicated answer is that you could build something on top of Aeron to implement competing consumer/fair dispatch. The primary challenge is that you need some mechanism to manage co-ordination between consumers. This gets more complex the more widely distributed the consumers are.
Single Process (multiple threads)
A single producer, multiple consumer queue would probably be sufficient for this case. With one thread reading from Aeron, copying and en-queuing the message and the consumers reading from the queue. The Agrona library (that ships with Aeron) has some fast queue implementations.
Single host
Similar to single process, you would need something similar to a queue, but implemented using shared memory or similar. There isn't anything out of the box that I'm aware of to do this.
Multiple hosts
To manage this there needs to be some sort of central broker to manage work distribution, acknowledgements, re-delivery, etc. This service would need to be redundant in order to ensure that processing can continue if the broker itself failed. You could conceivably build something like this on top of Aeron Archive and Cluster, but I wouldn't recommend it. There are other solutions that require less co-ordination overhead, e.g. partitioning by business key.