Aeron: Bên Trong Hệ Thống Nhắn Tin Vận Hành Một Nửa Ngành HFT
Aeron: Media Driver, bộ nhớ dùng chung, log ba bộ đệm — kiến trúc đặt tiêu chuẩn cho nhắn tin độ trễ thấp.
Khi nói đến hệ thống nhắn tin cho giao dịch tần số cao, một cái tên xuất hiện trong mọi cuộc trò chuyện — Aeron. Được phát triển bởi Martin Thompson và nhóm Real Logic (sau này là Adaptive Financial Consulting), Aeron đã trở thành tiêu chuẩn thực tế cho việc truyền dữ liệu trong thế giới mà microsecond quyết định tất cả.
Trong bài viết này, chúng tôi phân tách Aeron thành các thành phần: Transport, Archive, Cluster và Sequencer. Chúng tôi giải thích cách hoạt động bên trong, điểm mạnh nằm ở đâu — và nơi nào bắt đầu xuất hiện vấn đề.
TL;DR
- Aeron — hệ thống nhắn tin mã nguồn mở (Apache 2.0) cho các ứng dụng độ trễ thấp
- Độ trễ IPC: ~250 ns khứ hồi qua bộ nhớ dùng chung
- Thông lượng: 20+ triệu tin nhắn mỗi giây
- Bốn sản phẩm: Transport (lõi), Archive (ghi/phát lại), Cluster (Raft), Sequencer (thứ tự toàn cục)
- Ngôn ngữ: Java (chính) + client C (ít hoàn chỉnh hơn)
- Sử dụng bởi: hàng chục công ty HFT, nhà tạo lập thị trường và sàn giao dịch
Phần 1: Aeron Transport — Lõi Hệ Thống
Kiến trúc: Media Driver

Thành phần trung tâm là Media Driver — một tiến trình riêng biệt (hoặc thư viện nhúng) quản lý toàn bộ việc truyền dữ liệu. Các ứng dụng giao tiếp với nó qua bộ nhớ dùng chung (tệp mmap trong /dev/shm).
Các cấu trúc dữ liệu chính:
- ManyToOneRingBuffer (MPSC) — lệnh từ client đến Media Driver
- BroadcastTransmitter/Receiver — phản hồi từ Media Driver đến client
- Log Buffers — log append-only ba bộ đệm cho dữ liệu
- Position Counters — bộ đếm nguyên tử để phối hợp vị trí
Hiệu suất
| Chỉ số | Giá trị |
|---|---|
| IPC (bộ nhớ dùng chung) RTT | ~250 ns |
| UDP unicast RTT (bare metal) | ~10 us |
| UDP unicast RTT (cloud, AWS) | <100 us |
| Thông lượng | >20M tin/giây |
| Aeron Premium (kernel bypass) P99 | 39 us |
Phần 2: Aeron Archive — Ghi Và Phát Lại
Archive ghi các luồng tin nhắn vào đĩa để phát lại từ bất kỳ vị trí nào. Trường hợp sử dụng: kiểm toán pháp lý, phục hồi sau sự cố, backtesting, gỡ lỗi.
Phần 3: Aeron Cluster — Đồng Thuận Raft

Máy trạng thái nhân bản chịu lỗi cho các hệ thống mà việc mất tin nhắn là không thể chấp nhận được (matching engine, quản lý lệnh). Bầu chọn leader, nhân bản log, đọc nhất quán mạnh.
Phần 4: Aeron Sequencer — Thứ Tự Toàn Cục
Sản phẩm mới (2025) được tối ưu hóa cho thị trường vốn. Cung cấp thứ tự toàn cục duy nhất cho tất cả các sự kiện — quan trọng cho matching engine và tạo lập thị trường đa sàn. Xây dựng trên Cluster. Sản phẩm thương mại (mã nguồn đóng).
Điểm Yếu

- Phụ thuộc JVM — safepoints, GC pauses, JIT warm-up
- Overhead của Media Driver — bước nhảy thêm qua bộ nhớ dùng chung
- Không có kernel bypass gốc — chỉ UDP (io_uring, DPDK không được hỗ trợ trong mã nguồn mở)
- SBE tách biệt — XML schemas, trình tạo code Java, bước build riêng
- Không có zero-copy networking — dữ liệu được sao chép từ socket vào log buffer
Các Lựa Chọn Thay Thế
| Dự án | Ngôn ngữ | Điểm mạnh | Điểm yếu |
|---|---|---|---|
| Aeron | Java/C | Trưởng thành, đã qua thử nghiệm thực tế, hệ sinh thái đầy đủ | JVM overhead, không có kernel bypass (mã nguồn mở) |
| ZigBolt | Zig | 20 ns SPSC, zero-copy codecs, không có GC | Dự án mới (v0.2.1) |
| Chronicle Queue | Java | Bền vững, hàng tỷ tin/ngày | JVM GC, nặng |
| ZeroMQ | C | API đơn giản, nhiều transport | Không có lớp đáng tin cậy, không có clustering |
Chúng tôi tại Marketmaker.cc đã phát triển ZigBolt — một giải pháp thay thế Aeron mã nguồn mở bằng Zig. Không JVM, không GC, comptime codecs, độ trễ SPSC 20 ns. Đọc thêm trong bài viết ZigBolt của chúng tôi.
Liên kết:
- Aeron GitHub: github.com/real-logic/aeron
- Martin Thompson: mechanical-sympathy.blogspot.com
- ZigBolt (giải pháp thay thế của chúng tôi): bài viết | trang web
- Marketmaker.cc: marketmaker.cc
Trích dẫn
@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 = {Phân tích chuyên sâu kiến trúc: Aeron Transport, Archive, Cluster, Sequencer.}
}
Tác Giả
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.