Announcing AeroStream: Ultra-Low Latency Dual-Engine (Rust + Go) Distributed Streaming Platform (Kafka Wire Compatible) #5
Uttam-Mahata
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
🚀 Announcing AeroStream
I was curious about how distributed event streaming works and started reading the design and architecture of Kafka 6 months ago...
What began as a deep dive into log segments, partition replication, zero-copy socket transfers, and Raft consensus quickly turned into an obsession:
Kafka’s wire protocol is incredible, but running heavy JVM runtimes, unpredictable GC pauses, and page cache flush stalls can introduce significant tail latency under high write loads.
So over the past 6 months, I built AeroStream — an open-source, dual-engine distributed streaming platform designed for predictable sub-millisecond tail latencies and Kafka wire protocol compatibility.
🛠️ Architecture Overview
AeroStream separates concerns cleanly between a bare-metal storage engine and a distributed consensus control plane:
🦀 1. The Rust Data Plane (Port 9092 & 9091)
sched_setaffinity), NUMA-aware memory allocations, and lock-free actor messaging via bounded channels.sendfile(2)eliminates userspace memory copy overhead on consumer fetches.sync_file_rangeflushes, eliminating page-cache flush latency spikes.0xAE 0x01on Port 9091): Ultra-compact 7-byte framing with official client SDKs for Go, Rust, Java, .NET, and Node.js.🦫 2. The Go Control Plane (Raft Consensus)
📊 Early Benchmark Results (AeroStream Native Protocol)
The figures below were measured on the AeroStream Native Protocol (Port 9091) incorporating the paced NVMe writeback engine (
sync_file_range) on a single AWSc6id.2xlarge(8 vCPUs), 32 partitions, 8 producers and 8 consumers with 1 KB messages:🔌 Kafka Wire Protocol Support (Port 9092)
Supports standard Kafka wire protocol for producing and consuming (tested with core client workflows):
confluent-kafka,kafka-python-ngIBM/sarama,twmb/franz-goorg.apache.kafka:kafka-clients, Kafka StreamskafkajsConfluent.Kafka☁️ Multi-Cloud Tiered Storage
Seamlessly offload cold sealed segments to object storage with transparent client reads:
🚀 Quickstart (Run in 5 Seconds)
127.0.0.1:9092127.0.0.1:9091💬 Community, Feedback & Status
AeroStream is actively in development.
🔗 Documentation & Showcase: https://aerostream.gradientgeeks.com
📦 SDK Repository: github.com/gradientgeeks/aerostream-sdk
We'd love to hear your thoughts, feedback, and architecture critiques!
All reactions