Aeron : au coeur du systeme de messagerie qui fait tourner la moitie de l'industrie HFT
Aeron : Media Driver, memoire partagee, logs a triple buffer, l'architecture qui a defini le standard de la messagerie a faible latence.
Des qu'il est question de systemes de messagerie pour le trading haute frequence, un nom revient dans chaque conversation : Aeron. Developpe par Martin Thompson et l'equipe de Real Logic (plus tard Adaptive Financial Consulting), Aeron est devenu le standard de facto pour la transmission de donnees dans un monde ou les microsecondes decident de tout.
Dans cet article, nous decomposons Aeron en ses parties : Transport, Archive, Cluster et Sequencer. Nous expliquons comment il fonctionne en interne, ou se situent ses forces, et ou commencent les problemes.
TL;DR
- Aeron : systeme de messagerie open source (Apache 2.0) pour les applications a faible latence
- Latence IPC : ~250 ns aller-retour via memoire partagee
- Debit : plus de 20 millions de messages par seconde
- Quatre produits : Transport (coeur), Archive (enregistrement/relecture), Cluster (Raft), Sequencer (ordre total)
- Langage : Java (principal) + client C (moins complet)
- Utilise par : des dizaines de societes HFT, teneurs de marche et bourses
Partie 1 : Aeron Transport, le coeur
Architecture : Media Driver

Le composant central est le Media Driver : un processus separe (ou une bibliotheque embarquee) qui gere toute la transmission de donnees. Les applications communiquent avec lui via la memoire partagee (fichiers mmap dans /dev/shm).
Structures de donnees cles :
- ManyToOneRingBuffer (MPSC) : commandes des clients vers le Media Driver
- BroadcastTransmitter/Receiver : reponses du Media Driver vers les clients
- Log Buffers : log append-only a triple buffer pour les donnees
- Position Counters : compteurs atomiques pour la coordination des positions
Performance
| Metrique | Valeur |
|---|---|
| IPC (memoire partagee) RTT | ~250 ns |
| UDP unicast RTT (bare metal) | ~10 us |
| UDP unicast RTT (cloud, AWS) | <100 us |
| Debit | >20M msg/sec |
| Aeron Premium (kernel bypass) P99 | 39 us |
Partie 2 : Aeron Archive, enregistrer et rejouer
Archive enregistre les flux de messages sur disque pour les rejouer depuis n'importe quelle position. Cas d'usage : audit reglementaire, recuperation apres panne, backtesting, debogage.
Partie 3 : Aeron Cluster, consensus Raft

Machine a etats repliquee et tolerante aux pannes pour les systemes ou la perte d'un message est inacceptable (moteurs de matching, gestion des ordres). Election de leader, replication du log, lectures fortement coherentes.
Partie 4 : Aeron Sequencer, ordonnancement total
Nouveau produit (2025) optimise pour les marches de capitaux. Il fournit un ordonnancement global unique de tous les evenements, essentiel pour les moteurs de matching et le market making multi-venue. Construit sur Cluster. Produit commercial (code source ferme).
Faiblesses

- Dependance a la JVM : safepoints, pauses GC, warm-up du JIT
- Surcout du Media Driver : un saut supplementaire via la memoire partagee
- Pas de kernel bypass natif : UDP uniquement (io_uring, DPDK ne sont pas supportes dans la version open source)
- SBE est separe : schemas XML, generateur de code Java, etape de build distincte
- Pas de networking zero-copy : les donnees sont copiees du socket vers le log buffer
Alternatives
| Projet | Langage | Forces | Faiblesses |
|---|---|---|---|
| Aeron | Java/C | Mature, eprouve, ecosysteme complet | Surcout de la JVM, pas de kernel bypass (open source) |
| ZigBolt | Zig | 20 ns SPSC, codecs zero-copy, pas de GC | Projet jeune (v0.2.1) |
| Chronicle Queue | Java | Persistant, milliards de msg/jour | GC de la JVM, lourd |
| ZeroMQ | C | API simple, nombreux transports | Pas de couche de fiabilite, pas de clustering |
Chez Marketmaker.cc, nous avons developpe ZigBolt, une alternative open source a Aeron en Zig. Pas de JVM, pas de GC, codecs comptime, latence SPSC de 20 ns. En savoir plus dans notre article sur ZigBolt.
Liens :
- Aeron GitHub : github.com/real-logic/aeron
- Martin Thompson : mechanical-sympathy.blogspot.com
- ZigBolt (notre alternative) : article | site
- Marketmaker.cc : marketmaker.cc
Citation
@article{soloviov2026aeron,
author = {Soloviov, Eugen},
title = {Aeron: Inside the Messaging System That Powers Half of the HFT Industry},
year = {2026},
url = {https://marketmaker.cc/en/blog/post/aeron-messaging-overview},
description = {Architecture deep-dive: Aeron Transport, Archive, Cluster, Sequencer.}
}
Authors
Trading-systems engineer
Trading-systems engineer building bots since 2017: cross-exchange arbitrage (connected up to 30 venues), cointegration-based pairs arbitrage across spot and futures, scalping, news and sentiment-driven strategies, trend algorithms, and portfolio management and balancing algorithms. Also builds sub-millisecond order execution, big-data warehouses, backtesting engines, AI agents, and trading interfaces (incl. open-source profitmaker.cc). Stack: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, architecture.