whatisgithub

What is aeron?

aeron-io/aeron — explained in plain English

Analysis updated 2026-06-24

8,632JavaAudience · developerComplexity · 5/5LicenseSetup · hard

In one sentence

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.

Mindmap

mindmap
  root((repo))
    Transport modes
      UDP unicast
      UDP multicast
      IPC same machine
    Client languages
      Java
      C and C++
      .NET
    Optional modules
      Archive record and replay
      Cluster fault tolerance
    Use cases
      Financial trading
      Real-time data streams
      Distributed systems
    Performance
      Ultra-low latency
      High throughput
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Send millions of messages per second between financial trading systems with sub-microsecond latency over UDP or in-process channels

USE CASE 2

Record a live message stream to disk and replay it later at full speed for debugging or historical analysis using the Archive module

USE CASE 3

Build a fault-tolerant replicated service that keeps running when machines fail, using the Cluster module with Raft consensus

What is it built with?

JavaCC++.NETUDP

How does it compare?

aeron-io/aeronreact-native-image-picker/react-native-image-pickershwenzhang/andresguard
Stars8,6328,6358,635
LanguageJavaJavaJava
Setup difficultyhardmoderatemoderate
Complexity5/52/53/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires Java or C/C++ build toolchain, Cluster and Archive modes need multiple machines and careful network configuration.

Licensed under Apache 2.0, free to use and distribute for any purpose including commercial, with attribution required.

So what is it?

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.

Copy-paste prompts

Prompt 1
Show me how to set up an Aeron publisher and subscriber in Java to send 1 million messages per second over UDP unicast between two machines
Prompt 2
How do I use Aeron Archive to record a live message stream to disk and replay specific time ranges from that recording in Java?
Prompt 3
Set up an Aeron Cluster with 3 nodes using Raft so the cluster keeps processing messages without interruption if one node goes down
Prompt 4
Write a Java example that uses Aeron IPC to pass order book updates between two threads in the same process as fast as possible

Frequently asked questions

What is aeron?

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.

What language is aeron written in?

Mainly Java. The stack also includes Java, C, C++.

What license does aeron use?

Licensed under Apache 2.0, free to use and distribute for any purpose including commercial, with attribution required.

How hard is aeron to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is aeron for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.