Aeron: por dentro del sistema de mensajeria que impulsa a la mitad de la industria HFT

Un analisis a fondo de Aeron, el sistema de mensajeria de Real Logic para el trading de alta frecuencia. Transport, Archive, Cluster, Sequencer. Que hay dentro, como funciona y donde estan los cuellos de botella.

Aeron Messaging Architecture Aeron: Media Driver, memoria compartida, logs con triple buffer: la arquitectura que fijo el estandar para la mensajeria de baja latencia.

Cuando se habla de sistemas de mensajeria para el trading de alta frecuencia, hay un nombre que aparece en cada conversacion: Aeron. Desarrollado por Martin Thompson y el equipo de Real Logic (mas tarde Adaptive Financial Consulting), Aeron se convirtio en el estandar de facto para la transmision de datos en un mundo donde los microsegundos lo deciden todo.

En este articulo desglosamos Aeron en sus partes: Transport, Archive, Cluster y Sequencer. Explicamos como funciona por dentro, donde estan sus fortalezas y donde empiezan los problemas.


TL;DR

  • Aeron: sistema de mensajeria de codigo abierto (Apache 2.0) para aplicaciones de baja latencia
  • Latencia IPC: ~250 ns de ida y vuelta a traves de memoria compartida
  • Rendimiento: mas de 20 millones de mensajes por segundo
  • Cuatro productos: Transport (nucleo), Archive (grabacion/reproduccion), Cluster (Raft), Sequencer (orden total)
  • Lenguaje: Java (principal) + cliente en C (menos completo)
  • Utilizado por: decenas de firmas HFT, creadores de mercado y bolsas

Parte 1: Aeron Transport, el nucleo

Arquitectura: Media Driver

Aeron Media Driver

El componente central es el Media Driver: un proceso separado (o una biblioteca embebida) que gestiona toda la transmision de datos. Las aplicaciones se comunican con el a traves de memoria compartida (archivos mmap en /dev/shm).

Estructuras de datos clave:

  • ManyToOneRingBuffer (MPSC): comandos de los clientes al Media Driver
  • BroadcastTransmitter/Receiver: respuestas del Media Driver a los clientes
  • Log Buffers: log append-only con triple buffer para los datos
  • Position Counters: contadores atomicos para la coordinacion de posiciones

Rendimiento

MetricaValor
IPC (memoria compartida) RTT~250 ns
UDP unicast RTT (bare metal)~10 us
UDP unicast RTT (nube, AWS)<100 us
Rendimiento>20M msg/sec
Aeron Premium (kernel bypass) P9939 us

Parte 2: Aeron Archive, grabar y reproducir

Archive graba flujos de mensajes en disco para reproducirlos desde cualquier posicion. Casos de uso: auditoria regulatoria, recuperacion ante fallos, backtesting, depuracion.


Parte 3: Aeron Cluster, consenso Raft

Raft Consensus

Maquina de estados replicada y tolerante a fallos para sistemas donde perder un mensaje es inaceptable (motores de matching, gestion de ordenes). Eleccion de lider, replicacion de log, lecturas fuertemente consistentes.


Parte 4: Aeron Sequencer, ordenamiento total

Producto nuevo (2025) optimizado para los mercados de capitales. Proporciona un unico ordenamiento global de todos los eventos: critico para los motores de matching y el market making multi-venue. Construido sobre Cluster. Producto comercial (codigo cerrado).


Debilidades

JVM Overhead and GC Pauses

  1. Dependencia de la JVM: safepoints, pausas de GC, calentamiento del JIT
  2. Sobrecarga del Media Driver: un salto adicional a traves de la memoria compartida
  3. Sin kernel bypass nativo: solo UDP (io_uring, DPDK no son compatibles en la version de codigo abierto)
  4. SBE es aparte: esquemas XML, generador de codigo Java, paso de build separado
  5. Sin networking zero-copy: los datos se copian del socket al log buffer

Alternativas

ProyectoLenguajeFortalezasDebilidades
AeronJava/CMaduro, probado en produccion, ecosistema completoSobrecarga de la JVM, sin kernel bypass (codigo abierto)
ZigBoltZig20 ns SPSC, codecs zero-copy, sin GCProyecto joven (v0.2.1)
Chronicle QueueJavaPersistente, miles de millones de msg/diaGC de la JVM, pesado
ZeroMQCAPI simple, muchos transportesSin capa de fiabilidad, sin clustering

En Marketmaker.cc desarrollamos ZigBolt, una alternativa de codigo abierto a Aeron en Zig. Sin JVM, sin GC, codecs comptime, latencia SPSC de 20 ns. Lee mas en nuestro articulo sobre ZigBolt.


Enlaces:


Cita

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