← Quay lại danh sách bài viết
March 25, 2026
5 phút đọc

Aeron: Bên Trong Hệ Thống Nhắn Tin Vận Hành Một Nửa Ngành HFT

Aeron: Bên Trong Hệ Thống Nhắn Tin Vận Hành Một Nửa Ngành HFT
#aeron
#hft
#độ-trễ-thấp
#nhắn-tin
#java
#ipc
#raft
#tài-chính

Kiến trúc nhắn tin Aeron 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

Aeron 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

Đồ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

JVM Overhead và GC Pauses

  1. Phụ thuộc JVM — safepoints, GC pauses, JIT warm-up
  2. Overhead của Media Driver — bước nhảy thêm qua bộ nhớ dùng chung
  3. Không có kernel bypass gốc — chỉ UDP (io_uring, DPDK không được hỗ trợ trong mã nguồn mở)
  4. SBE tách biệt — XML schemas, trình tạo code Java, bước build riêng
  5. 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:


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.}
}
Tuyên bố miễn trừ trách nhiệm: Thông tin được cung cấp trong bài viết này chỉ nhằm mục đích giáo dục và thông tin, không cấu thành lời khuyên về tài chính, đầu tư hoặc giao dịch. Giao dịch tiền mã hóa tiềm ẩn rủi ro thua lỗ đáng kể.

Tác Giả

Eugen Soloviov
Eugen Soloviov

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.

Newsletter

Đi Trước Thị Trường

Đăng ký nhận bản tin của chúng tôi để có những thông tin chuyên sâu độc quyền về AI trading, phân tích thị trường và các cập nhật nền tảng.

Chúng tôi tôn trọng quyền riêng tư của bạn. Hủy đăng ký bất kỳ lúc nào.