# Aeron — Ultra-Low-Latency Reliable Messaging Transport > Achieve microsecond-level messaging with this high-performance communication library for Java, C, and C++ designed for financial and real-time systems. ## Install Save in your project root: # Aeron — Ultra-Low-Latency Reliable Messaging Transport ## Quick Use ```bash git clone https://github.com/real-logic/aeron.git cd aeron ./gradlew # Start a media driver, then run the sample publisher and subscriber java -cp aeron-all/build/libs/aeron-all-*.jar io.aeron.driver.MediaDriver java -cp aeron-all/build/libs/aeron-all-*.jar io.aeron.samples.BasicSubscriber java -cp aeron-all/build/libs/aeron-all-*.jar io.aeron.samples.BasicPublisher ``` ## Introduction Aeron is a messaging transport designed for low-latency, high-throughput communication. Built by Real Logic, it targets financial trading systems, telemetry pipelines, and any domain where microsecond performance matters more than convenience. ## What Aeron Does - Delivers reliable unicast and multicast messaging over UDP and IPC - Achieves sub-microsecond latency for inter-process communication on the same host - Provides a lock-free, garbage-free data path in Java for predictable GC pauses - Supports clustered replication via Aeron Cluster for fault-tolerant state machines - Includes an archive module for persistent message replay ## Architecture Overview Aeron separates the Media Driver (a shared-memory transport engine) from client libraries. The driver manages buffers, flow control, and loss recovery in a dedicated process. Clients communicate with it through memory-mapped files, avoiding kernel syscalls on the data path. This design keeps latency deterministic regardless of the number of publishers or subscribers. ## Self-Hosting & Configuration - Build from source with Gradle or pull pre-built JARs from Maven Central - Launch the Media Driver as a standalone process or embed it in your JVM application - Tune buffer sizes, SO_RCVBUF, and thread affinity via system properties - Use Aeron Archive for durable message storage and replay from disk - Deploy Aeron Cluster for consensus-based replication across nodes ## Key Features - Lock-free, wait-free, and zero-allocation on the fast path in Java - IPC throughput exceeding tens of millions of messages per second - Built-in congestion control and loss recovery for UDP transport - Aeron Cluster provides Raft-based replicated state machines - C and C++ client libraries for cross-language interop ## Comparison with Similar Tools - **ZeroMQ** — simpler API with higher-level patterns, but higher latency on the fast path - **nanomsg / nng** — lightweight messaging with less focus on ultra-low latency - **gRPC** — request-reply over HTTP/2; Aeron is a transport layer, not an RPC framework - **Chronicle Queue** — Java-specific persistent queue; Aeron covers network transport and IPC ## FAQ **Q:** Do I need the Media Driver as a separate process? A: No. You can embed the driver in-process, though a standalone driver is recommended for production isolation. **Q:** Is Aeron suitable for web applications? A: Not directly. It targets backend service-to-service and intra-host communication, not browser clients. **Q:** What languages are supported? A: Java (primary), C, and C++. Community wrappers exist for .NET and Rust. **Q:** What license does Aeron use? A: Apache License 2.0. ## Sources - https://github.com/real-logic/aeron - https://aeron.io/ --- Source: https://tokrepo.com/en/workflows/asset-937cada6 Author: AI Open Source