Aeron: HFT саласының жартысын қозғайтын хабар алмасу жүйесінің ішкі құрылымы

Aeron-ға терең үңілу - жоғары жиілікті сауда үшін Real Logic компаниясының хабар алмасу жүйесі. Transport, Archive, Cluster, Sequencer. Ішінде не бар, ол қалай жұмыс істейді және кедергілер қайда.

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

Aeron 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) P9939 us

2-бөлім: Aeron Archive — Жазу және қайта ойнату

Archive хабарлама ағындарын кез келген позициядан қайта ойнату үшін дискіге жазады. Қолдану жағдайлары: реттеуші аудит, апаттан кейін қалпына келтіру, backtesting, түзету.


3-бөлім: Aeron Cluster — Raft консенсусы

Raft Consensus

Хабарламаны жоғалту жол берілмейтін жүйелерге арналған ақауларға төзімді репликацияланған күй машинасы (matching engine-дер, тапсырыстарды басқару). Лидерді сайлау, лог репликациясы, қатаң дәйекті оқулар.


4-бөлім: Aeron Sequencer — Толық реттілік

Капитал нарықтарына оңтайландырылған жаңа өнім (2025). Барлық оқиғалардың бірыңғай жаһандық реттілігін қамтамасыз етеді — matching engine-дер мен көп алаңды маркет-мейкинг үшін маңызды. Cluster негізінде құрылған. Коммерциялық өнім (жабық бастапқы код).


Әлсіз жақтары

JVM Overhead and GC Pauses

  1. JVM тәуелділігі — safepoint-тар, GC кідірістері, JIT қыздыру
  2. Media Driver үстеме шығыны — ортақ жад арқылы қосымша секіріс
  3. Нативті kernel bypass жоқ — тек UDP (io_uring, DPDK ашық бастапқы кодта қолдау таппайды)
  4. SBE бөлек — XML схемалары, Java код генераторы, бөлек build қадамы
  5. Zero-copy networking жоқ — деректер сокеттен лог буферге көшіріледі

Баламалар

ЖобаТілКүшті жақтарыӘлсіз жақтары
AeronJava/CЖетілген, ұрыста сыналған, толық экожүйеJVM үстеме шығыны, kernel bypass жоқ (ашық бастапқы код)
ZigBoltZig20 ns SPSC, zero-copy кодектер, GC жоқЖас жоба (v0.2.1)
Chronicle QueueJavaТұрақты, күніне миллиардтаған хабарламаJVM GC, ауыр салмақты
ZeroMQCҚарапайым API, көптеген транспорттарСенімділік қабаты жоқ, кластерлеу жоқ

Біз Marketmaker.cc-те ZigBolt әзірледік — Zig-тегі Aeron-ның ашық бастапқы кодты баламасы. JVM жоқ, GC жоқ, comptime кодектер, 20 ns SPSC кідірісі. Толығырақ біздің ZigBolt мақаламызда оқыңыз.


Сілтемелер:


Дәйексөз

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