aeron
Efficient reliable UDP unicast, UDP multicast, and IPC message transport
Aeron is a high-performance messaging library for sending data between programs with ultra-low latency. It supports UDP networking and in-process messaging in Java, C, and C++, with optional fault-tolerant clustering and stream recording.
Aeron is a messaging library designed to move data between programs as fast as possible with very consistent timing. The central idea is that many systems, particularly in financial trading or real-time data processing, need to send and receive streams of messages where both throughput (how many messages per second) and latency (how long each message takes to arrive) matter enormously. Aeron is built specifically to push those numbers to their limits.
It supports three ways of sending messages. UDP unicast sends data from one machine to one other machine over a network. UDP multicast sends data from one machine to many receivers at once over a network. IPC (inter-process communication) moves messages between programs running on the same machine, bypassing the network entirely for maximum speed. Clients are available in Java, C, and C++, and a separate .NET client also exists. Programs using any of these clients can exchange messages with each other.
Beyond basic messaging, Aeron includes two major optional modules. The Archive module can record a live message stream to persistent storage and replay it later, either in real time or at a different speed. The Cluster module adds fault tolerance: it replicates a service across multiple machines using a well-known algorithm called Raft, so the service keeps running even if some machines fail.
Aeron is owned by Adaptive Financial Consulting, a firm that offers training, consulting, and premium enhancements on top of the open-source version. These include features like kernel bypass networking via DPDK (a technique that bypasses the operating system for even lower latency) and fast encryption. The README points users to a detailed wiki for programming guides, configuration options, and architecture documentation rather than including all of that in the README itself.
The project is open source under the Apache 2.0 license. The original authors, Martin Thompson and Todd Montgomery, created Aeron before the team joined Adaptive in 2022.
Where it fits
- Send millions of messages per second between financial trading systems with sub-microsecond latency over UDP or in-process channels
- Record a live message stream to disk and replay it later at full speed for debugging or historical analysis using the Archive module
- Build a fault-tolerant replicated service that keeps running when machines fail, using the Cluster module with Raft consensus