Aeron: por dentro do sistema de mensageria que move metade da industria de HFT
Aeron: Media Driver, memoria compartilhada, logs com triplo buffer — a arquitetura que definiu o padrao para mensageria de baixa latencia.
Quando o assunto e sistemas de mensageria para trading de alta frequencia, um nome aparece em toda conversa — Aeron. Desenvolvido por Martin Thompson e pela equipe da Real Logic (mais tarde Adaptive Financial Consulting), o Aeron tornou-se o padrao de fato para a transmissao de dados em um mundo onde os microssegundos decidem tudo.
Neste artigo, dividimos o Aeron em suas partes: Transport, Archive, Cluster e Sequencer. Explicamos como funciona por dentro, onde estao seus pontos fortes — e onde comecam os problemas.
TL;DR
- Aeron — sistema de mensageria open-source (Apache 2.0) para aplicacoes de baixa latencia
- Latencia IPC: ~250 ns de ida e volta via memoria compartilhada
- Throughput: mais de 20 milhoes de mensagens por segundo
- Quatro produtos: Transport (nucleo), Archive (gravacao/replay), Cluster (Raft), Sequencer (ordenacao total)
- Linguagem: Java (principal) + cliente C (menos completo)
- Usado por: dezenas de firmas de HFT, formadores de mercado e bolsas
Parte 1: Aeron Transport — o nucleo
Arquitetura: Media Driver

O componente central e o Media Driver — um processo separado (ou biblioteca embarcada) que gerencia toda a transmissao de dados. As aplicacoes se comunicam com ele por meio de memoria compartilhada (arquivos mmap em /dev/shm).
Estruturas de dados principais:
- ManyToOneRingBuffer (MPSC) — comandos dos clientes para o Media Driver
- BroadcastTransmitter/Receiver — respostas do Media Driver para os clientes
- Log Buffers — log append-only com triplo buffer para os dados
- Position Counters — contadores atomicos para a coordenacao de posicoes
Desempenho
| Metrica | Valor |
|---|---|
| IPC (memoria compartilhada) RTT | ~250 ns |
| UDP unicast RTT (bare metal) | ~10 us |
| UDP unicast RTT (nuvem, AWS) | <100 us |
| Throughput | >20M msg/sec |
| Aeron Premium (kernel bypass) P99 | 39 us |
Parte 2: Aeron Archive — gravar e reproduzir
O Archive grava fluxos de mensagens em disco para reproducao a partir de qualquer posicao. Casos de uso: auditoria regulatoria, recuperacao apos falha, backtesting, depuracao.
Parte 3: Aeron Cluster — consenso Raft

Maquina de estados replicada e tolerante a falhas para sistemas em que perder uma mensagem e inaceitavel (matching engines, gestao de ordens). Eleicao de lider, replicacao de log, leituras fortemente consistentes.
Parte 4: Aeron Sequencer — ordenacao total
Produto novo (2025) otimizado para mercados de capitais. Fornece uma unica ordenacao global de todos os eventos — critico para matching engines e market making multi-venue. Construido sobre o Cluster. Produto comercial (codigo fechado).
Pontos fracos

- Dependencia da JVM — safepoints, pausas de GC, aquecimento do JIT
- Overhead do Media Driver — um salto extra pela memoria compartilhada
- Sem kernel bypass nativo — apenas UDP (io_uring, DPDK nao sao suportados na versao open-source)
- SBE e separado — esquemas XML, gerador de codigo Java, etapa de build separada
- Sem networking zero-copy — os dados sao copiados do socket para o log buffer
Alternativas
| Projeto | Linguagem | Pontos fortes | Pontos fracos |
|---|---|---|---|
| Aeron | Java/C | Maduro, testado em producao, ecossistema completo | Overhead da JVM, sem kernel bypass (open-source) |
| ZigBolt | Zig | 20 ns SPSC, codecs zero-copy, sem GC | Projeto jovem (v0.2.1) |
| Chronicle Queue | Java | Persistente, bilhoes de msg/dia | GC da JVM, pesado |
| ZeroMQ | C | API simples, muitos transportes | Sem camada de confiabilidade, sem clustering |
Nos, da Marketmaker.cc, desenvolvemos o ZigBolt — uma alternativa open-source ao Aeron em Zig. Sem JVM, sem GC, codecs comptime, latencia SPSC de 20 ns. Leia mais em nosso artigo sobre o ZigBolt.
Links:
- Aeron GitHub: github.com/real-logic/aeron
- Martin Thompson: mechanical-sympathy.blogspot.com
- ZigBolt (nossa alternativa): artigo | site
- Marketmaker.cc: marketmaker.cc
Citacao
@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.