Aeron : au coeur du systeme de messagerie qui fait tourner la moitie de l'industrie HFT

Une plongee approfondie dans Aeron, le systeme de messagerie de Real Logic pour le trading haute frequence. Transport, Archive, Cluster, Sequencer. Ce qu'il contient, comment il fonctionne et ou se trouvent les goulots d'etranglement.

Aeron Messaging Architecture 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

Aeron 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

MetriqueValeur
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) P9939 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

Raft Consensus

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

JVM Overhead and GC Pauses

  1. Dependance a la JVM : safepoints, pauses GC, warm-up du JIT
  2. Surcout du Media Driver : un saut supplementaire via la memoire partagee
  3. Pas de kernel bypass natif : UDP uniquement (io_uring, DPDK ne sont pas supportes dans la version open source)
  4. SBE est separe : schemas XML, generateur de code Java, etape de build distincte
  5. Pas de networking zero-copy : les donnees sont copiees du socket vers le log buffer

Alternatives

ProjetLangageForcesFaiblesses
AeronJava/CMature, eprouve, ecosysteme completSurcout de la JVM, pas de kernel bypass (open source)
ZigBoltZig20 ns SPSC, codecs zero-copy, pas de GCProjet jeune (v0.2.1)
Chronicle QueueJavaPersistant, milliards de msg/jourGC de la JVM, lourd
ZeroMQCAPI simple, nombreux transportsPas 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 :


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.}
}