Aeron: HFT саласының жартысын қозғайтын хабар алмасу жүйесінің ішкі құрылымы
Aeron: Media Driver, ортақ жад, үш есе буферленген логтар — төмен кідірісті хабар алмасудың стандартын белгілеген архитектура.
Жоғары жиілікті сауда үшін хабар алмасу жүйелері туралы сөз болғанда, әр әңгімеде бір атау аталады — Aeron. Martin Thompson мен Real Logic командасы (кейін Adaptive Financial Consulting) әзірлеген Aeron микросекундтар бәрін шешетін әлемде деректерді тасымалдаудың нақты стандартына айналды.
Бұл мақалада біз Aeron-ды оның бөліктеріне жіктейміз: Transport, Archive, Cluster және Sequencer. Оның ішінде қалай жұмыс істейтінін, күшті жақтары қайда екенін — және мәселелер қайдан басталатынын түсіндіреміз.
TL;DR
- Aeron — төмен кідірісті қолданбаларға арналған ашық бастапқы кодты (Apache 2.0) хабар алмасу жүйесі
- IPC кідірісі: ортақ жад арқылы ~250 ns толық айналым
- Өткізу қабілеті: секундына 20+ миллион хабарлама
- Төрт өнім: Transport (ядро), Archive (жазу/қайта ойнату), Cluster (Raft), Sequencer (толық реттілік)
- Тіл: Java (негізгі) + C клиенті (толық емес)
- Қолданушылар: ондаған HFT фирмалары, маркет-мейкерлер және биржалар
1-бөлім: Aeron Transport — Ядро
Архитектура: Media Driver

Орталық компонент — Media Driver — барлық деректерді тасымалдауды басқаратын жеке процесс (немесе кірістірілген кітапхана). Қолданбалар онымен ортақ жад арқылы (/dev/shm ішіндегі mmap файлдары) байланысады.
Негізгі деректер құрылымдары:
- ManyToOneRingBuffer (MPSC) — клиенттерден Media Driver-ге командалар
- BroadcastTransmitter/Receiver — Media Driver-ден клиенттерге жауаптар
- Log Buffers — деректерге арналған үш есе буферленген append-only лог
- Position Counters — позицияны үйлестіруге арналған атомдық санауыштар
Өнімділік
| Метрика | Мән |
|---|---|
| IPC (ортақ жад) RTT | ~250 ns |
| UDP unicast RTT (bare metal) | ~10 us |
| UDP unicast RTT (бұлт, AWS) | <100 us |
| Өткізу қабілеті | >20M msg/sec |
| Aeron Premium (kernel bypass) P99 | 39 us |
2-бөлім: Aeron Archive — Жазу және қайта ойнату
Archive хабарлама ағындарын кез келген позициядан қайта ойнату үшін дискіге жазады. Қолдану жағдайлары: реттеуші аудит, апаттан кейін қалпына келтіру, backtesting, түзету.
3-бөлім: Aeron Cluster — Raft консенсусы

Хабарламаны жоғалту жол берілмейтін жүйелерге арналған ақауларға төзімді репликацияланған күй машинасы (matching engine-дер, тапсырыстарды басқару). Лидерді сайлау, лог репликациясы, қатаң дәйекті оқулар.
4-бөлім: Aeron Sequencer — Толық реттілік
Капитал нарықтарына оңтайландырылған жаңа өнім (2025). Барлық оқиғалардың бірыңғай жаһандық реттілігін қамтамасыз етеді — matching engine-дер мен көп алаңды маркет-мейкинг үшін маңызды. Cluster негізінде құрылған. Коммерциялық өнім (жабық бастапқы код).
Әлсіз жақтары

- JVM тәуелділігі — safepoint-тар, GC кідірістері, JIT қыздыру
- Media Driver үстеме шығыны — ортақ жад арқылы қосымша секіріс
- Нативті kernel bypass жоқ — тек UDP (io_uring, DPDK ашық бастапқы кодта қолдау таппайды)
- SBE бөлек — XML схемалары, Java код генераторы, бөлек build қадамы
- Zero-copy networking жоқ — деректер сокеттен лог буферге көшіріледі
Баламалар
| Жоба | Тіл | Күшті жақтары | Әлсіз жақтары |
|---|---|---|---|
| Aeron | Java/C | Жетілген, ұрыста сыналған, толық экожүйе | JVM үстеме шығыны, kernel bypass жоқ (ашық бастапқы код) |
| ZigBolt | Zig | 20 ns SPSC, zero-copy кодектер, GC жоқ | Жас жоба (v0.2.1) |
| Chronicle Queue | Java | Тұрақты, күніне миллиардтаған хабарлама | JVM GC, ауыр салмақты |
| ZeroMQ | C | Қарапайым API, көптеген транспорттар | Сенімділік қабаты жоқ, кластерлеу жоқ |
Біз Marketmaker.cc-те ZigBolt әзірледік — Zig-тегі Aeron-ның ашық бастапқы кодты баламасы. JVM жоқ, GC жоқ, comptime кодектер, 20 ns SPSC кідірісі. Толығырақ біздің ZigBolt мақаламызда оқыңыз.
Сілтемелер:
- Aeron GitHub: github.com/real-logic/aeron
- Martin Thompson: mechanical-sympathy.blogspot.com
- ZigBolt (біздің балама): мақала | сайт
- Marketmaker.cc: marketmaker.cc
Дәйексөз
@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.