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 किसी भी पोजीशन से रीप्ले के लिए मैसेज स्ट्रीम्स को डिस्क पर रिकॉर्ड करता है। उपयोग के मामले: रेगुलेटरी ऑडिट, क्रैश रिकवरी, बैकटेस्टिंग, डीबगिंग।


भाग 3: Aeron Cluster — Raft कंसेंसस

Raft Consensus

ऐसे सिस्टम के लिए फॉल्ट-टॉलरेंट रेप्लिकेटेड स्टेट मशीन जहाँ एक मैसेज खोना अस्वीकार्य है (मैचिंग इंजन, ऑर्डर मैनेजमेंट)। लीडर चुनाव, लॉग रेप्लिकेशन, मजबूती से सुसंगत रीड्स।


भाग 4: Aeron Sequencer — टोटल ऑर्डरिंग

नया प्रोडक्ट (2025) जो कैपिटल मार्केट्स के लिए अनुकूलित है। यह सभी इवेंट्स की एक एकल वैश्विक ऑर्डरिंग प्रदान करता है — मैचिंग इंजन और मल्टी-वेन्यू मार्केट मेकिंग के लिए महत्वपूर्ण। Cluster पर आधारित। कमर्शियल प्रोडक्ट (क्लोज्ड-सोर्स)।


कमजोरियाँ

JVM Overhead and GC Pauses

  1. JVM निर्भरता — safepoints, GC पॉज, JIT वार्म-अप
  2. Media Driver ओवरहेड — शेयर्ड मेमोरी के जरिए एक अतिरिक्त हॉप
  3. कोई नेटिव kernel bypass नहीं — केवल UDP (io_uring, DPDK ओपन-सोर्स में समर्थित नहीं)
  4. SBE अलग है — XML स्कीमा, Java कोड जनरेटर, अलग बिल्ड स्टेप
  5. कोई zero-copy networking नहीं — डेटा सॉकेट से लॉग बफर में कॉपी होता है

विकल्प

प्रोजेक्टभाषाताकतेंकमजोरियाँ
AeronJava/Cपरिपक्व, युद्ध-परखा हुआ, पूर्ण इकोसिस्टमJVM ओवरहेड, कोई kernel bypass नहीं (ओपन-सोर्स)
ZigBoltZig20 ns SPSC, zero-copy कोडेक, कोई GC नहींनया प्रोजेक्ट (v0.2.1)
Chronicle QueueJavaपरसिस्टेंट, अरबों msg/दिन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.}
}