[Go to site: main page, start]

Hyper-Efficient
Message Streaming
at Laser Speed

Apache Iggy (Incubating) is a high-performance, persistent message streaming platform written in Rust, capable of processing millions of messages per second with ultra-low latency.

Millions

Messages/Second/Node

~1 ms

Avg Write Latency

6

Language SDKs

100%

Free & Open Source

Built for performance

Designed from the ground up with io_uring and thread-per-core, shared nothing architecture. Each CPU core runs its own shard, pinned and NUMA-aware. No locks on the hot path, no GC pauses, no thread contention.

1M+msg/s
Throughput
+1 GB/swrite
Producer throughput
+3 GB/sread
Consumer throughput
1.01ms
Avg write latency
2.05ms
P99 write latency
Write
Read
Latency (ms) · 40M messages
3.0
2.5
2.0
1.5
1.0
0.5
0.0
AVGP99
Machine: AWS i3en.3xlarge · Intel Xeon 8259CL @ 2.50GHz

Ultra-High Performance

Process millions of messages per second with predictable low latency thanks to Rust, combined with io_uring and thread-per-core, shared nothing architecture.

Zero-Copy Serialization

Custom zero-copy (de)serialization for improved performance and reduced memory usage, working directly with binary data.

Multiple Transport Protocols

Support for QUIC, TCP, WebSocket, and HTTP protocols with TLS encryption, giving you flexibility in how clients connect.

Multi-Language SDKs

Client libraries available for Rust, C#, Java, Go, Python, Node.js and C++ with more languages coming for best developer experience.

Consumer Groups & Partitioning

Built-in support for consumer groups with cooperative rebalancing, partitioning, and horizontal scaling across connected clients.

Security & Access Control

TLS on all transports, per-stream and per-topic permissions, Personal Access Tokens for programmatic access, optional AES-256-GCM encryption at rest.

Built-in Monitoring

OpenTelemetry logs & traces, Prometheus metrics, and built-in benchmarking tools for performance monitoring.

Multi-Tenant Support

Stream abstraction for multi-tenancy, configurable message retention policies, and tiered storage coming in the future.

How it works

Messages flow from producers through streams and topics into partitioned, append-only segment files on disk. Pick your language and start streaming in minutes.

1

Producers send messages

Connect via TCP, QUIC, WebSocket or HTTP. Messages are routed to the target partition using balanced, key-based or explicit partitioning.

2

Shard receives and buffers

Each partition is owned by exactly one CPU-pinned shard. Messages are buffered in a memory journal, then flushed to disk via vectored I/O through io_uring.

3

Segments store on disk

Data lands in append-only .log files with .index files for offset and timestamp lookups. Segments are sealed at 1 GiB and rotated automatically.

4

Consumers poll at any offset

Read from the beginning, a specific offset, a timestamp, or continue from the last committed position. Consumer groups distribute partitions for horizontal scaling.

producer.rs
SDK docs →
use iggy::prelude::*;

let client = IggyClient::from_connection_string(
    "iggy://iggy:iggy@localhost:8090"
)?;
client.connect().await?;

let producer = client
    .producer("orders", "events")?
    .direct(
        DirectConfig::builder()
            .batch_length(100)
            .build()
    )
    .partitioning(Partitioning::balanced())
    .build();
producer.init().await?;

let msg = IggyMessage::from_str("order-123")?;
producer.send(vec![msg]).await?;
crates.io

Apache Iggy is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.

Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.

Apache®, the names of Apache projects, and the feather logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries.