Aeron: Di Dalam Sistem Pesanan Yang Menguasai Separuh Industri HFT
Aeron: Media Driver, memori dikongsi, log penimbal tiga kali — seni bina yang menetapkan standard untuk pesanan latensi rendah.
Apabila bercakap tentang sistem pesanan untuk dagangan frekuensi tinggi, satu nama muncul dalam setiap perbincangan — Aeron. Dibangunkan oleh Martin Thompson dan pasukan Real Logic (kemudian Adaptive Financial Consulting), Aeron menjadi standard de facto untuk penghantaran data dalam dunia di mana mikrosaat menentukan segalanya.
Dalam artikel ini, kami mengurai Aeron kepada bahagian-bahagiannya: Transport, Archive, Cluster, dan Sequencer. Kami menerangkan cara ia berfungsi di dalam, di mana kekuatannya terletak — dan di mana masalah bermula.
TL;DR
- Aeron — sistem pesanan sumber terbuka (Apache 2.0) untuk aplikasi latensi rendah
- Latensi IPC: ~250 ns round-trip melalui memori dikongsi
- Daya tampung: 20+ juta mesej sesaat
- Empat produk: Transport (teras), Archive (rekod/main semula), Cluster (Raft), Sequencer (turutan penuh)
- Bahasa: Java (utama) + klien C (kurang lengkap)
- Digunakan oleh: berpuluh-puluh firma HFT, pembuat pasaran, dan bursa
Bahagian 1: Aeron Transport — Teras
Seni Bina: Media Driver

Komponen utama ialah Media Driver — proses berasingan (atau perpustakaan terbenam) yang menguruskan semua penghantaran data. Aplikasi berkomunikasi dengannya melalui memori dikongsi (fail mmap dalam /dev/shm).
Struktur data utama:
- ManyToOneRingBuffer (MPSC) — arahan daripada klien ke Media Driver
- BroadcastTransmitter/Receiver — respons daripada Media Driver ke klien
- Log Buffers — log tambah sahaja penimbal tiga kali untuk data
- Position Counters — pembilang atom untuk penyelarasan kedudukan
Prestasi
| Metrik | Nilai |
|---|---|
| IPC (memori dikongsi) RTT | ~250 ns |
| UDP unicast RTT (logam biasa) | ~10 us |
| UDP unicast RTT (awan, AWS) | <100 us |
| Daya tampung | >20J msg/saat |
| Aeron Premium (pintasan kernel) P99 | 39 us |
Bahagian 2: Aeron Archive — Rekod dan Main Semula
Archive merekodkan aliran mesej ke cakera untuk dimainkan semula dari mana-mana kedudukan. Kes penggunaan: audit kawal selia, pemulihan nahas, backtesting, penyahpepijatan.
Bahagian 3: Aeron Cluster — Konsensus Raft

Mesin keadaan replikasi bertoleransi kesalahan untuk sistem di mana kehilangan mesej tidak boleh diterima (enjin padanan, pengurusan pesanan). Pemilihan pemimpin, replikasi log, bacaan konsisten kukuh.
Bahagian 4: Aeron Sequencer — Turutan Penuh
Produk baharu (2025) yang dioptimumkan untuk pasaran modal. Menyediakan turutan global tunggal bagi semua peristiwa — kritikal untuk enjin padanan dan pembuatan pasaran pelbagai tempat. Dibina di atas Cluster. Produk komersial (sumber tertutup).
Kelemahan

- Kebergantungan JVM — safepoint, jeda GC, pemanasan JIT
- Overhead Media Driver — lompatan tambahan melalui memori dikongsi
- Tiada pintasan kernel asli — UDP sahaja (io_uring, DPDK tidak disokong dalam sumber terbuka)
- SBE berasingan — skema XML, penjana kod Java, langkah binaan berasingan
- Tiada rangkaian salinan sifar — data disalin dari soket ke penimbal log
Alternatif
| Projek | Bahasa | Kekuatan | Kelemahan |
|---|---|---|---|
| Aeron | Java/C | Matang, teruji pertempuran, ekosistem penuh | Overhead JVM, tiada pintasan kernel (sumber terbuka) |
| ZigBolt | Zig | 20 ns SPSC, codec salinan sifar, tiada GC | Projek muda (v0.2.1) |
| Chronicle Queue | Java | Berterusan, berbilion msg/hari | GC JVM, berat |
| ZeroMQ | C | API mudah, banyak transport | Tiada lapisan kebolehpercayaan, tiada pengelompokan |
Kami di Marketmaker.cc membangunkan ZigBolt — alternatif Aeron sumber terbuka dalam Zig. Tiada JVM, tiada GC, codec comptime, latensi SPSC 20 ns. Baca lebih lanjut dalam artikel ZigBolt kami.
Pautan:
- Aeron GitHub: github.com/real-logic/aeron
- Martin Thompson: mechanical-sympathy.blogspot.com
- ZigBolt (alternatif kami): artikel | laman
- Marketmaker.cc: marketmaker.cc
Petikan
@article{soloviov2026aeron,
author = {Soloviov, Eugen},
title = {Aeron: Inside the Messaging System That Powers Half of the HFT Industry},
year = {2026},
url = {https://marketmaker.cc/ms/blog/post/aeron-messaging-overview},
description = {Analisis mendalam seni bina: Aeron Transport, Archive, Cluster, Sequencer.}
}
Pengarang
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.