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