Aeron: HFT sohasining yarmini harakatga keltiruvchi xabar almashish tizimining ichki tuzilishi
Aeron: Media Driver, umumiy xotira, uch marta buferlangan loglar — past kechikishli xabar almashish standartini belgilagan arxitektura.
Yuqori chastotali savdo uchun xabar almashish tizimlari haqida gap ketganda, har bir suhbatda bitta nom qalqib chiqadi — Aeron. Martin Thompson va Real Logic jamoasi (keyinchalik Adaptive Financial Consulting) tomonidan ishlab chiqilgan Aeron mikrosekundlar hamma narsani hal qiladigan dunyoda ma'lumot uzatishning amaldagi standartiga aylandi.
Ushbu maqolada biz Aeron'ni uning qismlariga ajratamiz: Transport, Archive, Cluster va Sequencer. U ichkaridan qanday ishlashini, kuchli tomonlari qayerda ekanini — va muammolar qayerdan boshlanishini tushuntiramiz.
TL;DR
- Aeron — past kechikishli ilovalar uchun ochiq kodli (Apache 2.0) xabar almashish tizimi
- IPC kechikishi: umumiy xotira orqali ~250 ns to'liq aylanish
- O'tkazuvchanlik: sekundiga 20+ million xabar
- To'rtta mahsulot: Transport (yadro), Archive (yozib olish/qayta ijro etish), Cluster (Raft), Sequencer (to'liq tartib)
- Til: Java (asosiy) + C mijozi (kamroq to'liq)
- Foydalanuvchilar: o'nlab HFT firmalari, market-meykerlar va birjalar
1-qism: Aeron Transport — Yadro
Arxitektura: Media Driver

Markaziy komponent — Media Driver — barcha ma'lumot uzatishni boshqaradigan alohida jarayon (yoki o'rnatilgan kutubxona). Ilovalar u bilan umumiy xotira orqali (/dev/shm ichidagi mmap fayllari) aloqa qiladi.
Asosiy ma'lumot tuzilmalari:
- ManyToOneRingBuffer (MPSC) — mijozlardan Media Driver'ga buyruqlar
- BroadcastTransmitter/Receiver — Media Driver'dan mijozlarga javoblar
- Log Buffers — ma'lumot uchun uch marta buferlangan append-only log
- Position Counters — pozitsiyani muvofiqlashtirish uchun atom hisoblagichlar
Ishlash ko'rsatkichlari
| Metrika | Qiymat |
|---|---|
| IPC (umumiy xotira) RTT | ~250 ns |
| UDP unicast RTT (bare metal) | ~10 us |
| UDP unicast RTT (bulut, AWS) | <100 us |
| O'tkazuvchanlik | >20M msg/sec |
| Aeron Premium (kernel bypass) P99 | 39 us |
2-qism: Aeron Archive — Yozib olish va qayta ijro etish
Archive xabar oqimlarini istalgan pozitsiyadan qayta ijro etish uchun diskka yozadi. Foydalanish holatlari: tartibga soluvchi audit, nosozlikdan keyin tiklash, backtesting, disk raskadrovka.
3-qism: Aeron Cluster — Raft konsensusi

Xabarni yo'qotish qabul qilib bo'lmaydigan tizimlar uchun nosozliklarga chidamli replikatsiyalangan holat mashinasi (matching engine'lar, buyurtmalarni boshqarish). Lider saylash, log replikatsiyasi, qat'iy izchil o'qishlar.
4-qism: Aeron Sequencer — To'liq tartiblash
Kapital bozorlari uchun optimallashtirilgan yangi mahsulot (2025). U barcha hodisalarning yagona global tartibini ta'minlaydi — matching engine'lar va ko'p maydonli market-meyking uchun muhim. Cluster asosida qurilgan. Tijoriy mahsulot (yopiq kod).
Zaif tomonlari

- JVM bog'liqligi — safepoint'lar, GC pauzalari, JIT qizdirish
- Media Driver qo'shimcha yuki — umumiy xotira orqali qo'shimcha sakrash
- Native kernel bypass yo'q — faqat UDP (io_uring, DPDK ochiq kodli versiyada qo'llab-quvvatlanmaydi)
- SBE alohida — XML sxemalari, Java kod generatori, alohida build bosqichi
- Zero-copy networking yo'q — ma'lumot soketdan log buferga nusxalanadi
Muqobillar
| Loyiha | Til | Kuchli tomonlari | Zaif tomonlari |
|---|---|---|---|
| Aeron | Java/C | Yetuk, jangda sinovdan o'tgan, to'liq ekotizim | JVM qo'shimcha yuki, kernel bypass yo'q (ochiq kodli) |
| ZigBolt | Zig | 20 ns SPSC, zero-copy kodeklar, GC yo'q | Yosh loyiha (v0.2.1) |
| Chronicle Queue | Java | Doimiy, kuniga milliardlab xabar | JVM GC, og'ir vaznli |
| ZeroMQ | C | Oddiy API, ko'plab transportlar | Ishonchlilik qatlami yo'q, klasterlash yo'q |
Biz Marketmaker.cc'da ZigBolt ishlab chiqdik — Zig'dagi Aeron'ning ochiq kodli muqobili. JVM yo'q, GC yo'q, comptime kodeklar, 20 ns SPSC kechikishi. Batafsil bizning ZigBolt maqolamizda o'qing.
Havolalar:
- Aeron GitHub: github.com/real-logic/aeron
- Martin Thompson: mechanical-sympathy.blogspot.com
- ZigBolt (bizning muqobil): maqola | sayt
- Marketmaker.cc: marketmaker.cc
Iqtibos
@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.