Apache Iggy

Welcome

Apache Iggy

Hyper-Efficient Message Streaming

at Laser Speed

High-performance, persistent message streaming platform written in Rust, capable of processing millions of messages per second with ultra-low latency.

Named after the Italian Greyhound - small yet extremely fast

Sub-ms latencyTail latency under 1ms at P99
Millions msgs/secMulti GB/s throughput on a single node
Zero-copy I/Oio_uring + vectored writes to disk

Why Iggy?

How Iggy compares to traditional message streaming platforms

TraditionalIggy
Runtime
JVM / Go runtime with GC pauses
Native Rust, zero GC, predictable latency
I/O model
epoll + blocking thread pool for disk
io_uring completion-based, kernel does the I/O
Threading
Work-stealing across shared threads
Thread-per-core, CPU-pinned, NUMA-aware
Serialization
Full deserialization on every read
Zero-copy views into raw buffers
Memory
Heap allocations on hot path
Pre-allocated 4 GiB pool, 32 bucket sizes
Binary
JVM + Zookeeper / KRaft + dependencies
Single ~20 MB binary, no dependencies

How Iggy organizes data

Iggy uses a hierarchical model: streams contain topics, topics contain partitions, and partitions store messages in segments on disk. This gives you flexible multi-tenancy, parallel processing, and efficient storage all in one.

Stream Hierarchy

Stream Topic Partition Segment

The append-only log

Every partition is an append-only log. Messages are immutable once written, consumers can read from any offset, and you can replay the entire history at any time.

Append-Only Log

Messages are appended sequentially. Consumers track their position independently via offsets.

write
consumer

Click any message block to move the consumer pointer. New messages appear from the right.

Key capabilities

CapabilityDetails
TransportTCP, QUIC, WebSocket, HTTP with custom binary protocol
PerformanceThread-per-core + io_uring, zero-copy deserialization, custom 4 GiB memory pool
SecurityTLS on all transports, Argon2id hashing, AES-256-GCM encryption, granular RBAC with per-stream/per-topic permissions
ConnectorsSource & sink plugins for PostgreSQL, MongoDB, Elasticsearch, Apache Iceberg, Quickwit with data transforms
AI IntegrationMCP server with 40+ tools for LLM-driven message streaming management
ManagementWeb UI dashboard (embedded or standalone), CLI with shell completions, Prometheus metrics, OpenTelemetry
ClusteringViewstamped Replication (VSR) consensus protocol (in development)
DeploymentSingle binary, Docker & Helm, NUMA-aware CPU affinity

Ecosystem

Iggy is more than just a server. The project includes a full ecosystem of tools:

  • Connectors Runtime - dynamically loaded Rust plugins for data integration. Ingest from PostgreSQL, Elasticsearch into Iggy, or forward to MongoDB, Elasticsearch, Apache Iceberg, Quickwit. Built-in data transforms and Prometheus metrics.
  • MCP Server - Model Context Protocol server exposing 40+ tools for LLM integration. Works with Claude Desktop via stdio and HTTP transports.
  • Web UI - SvelteKit dashboard for stream/topic management, message browsing with JSON/string/XML decoders, user management, and real-time terminal.
  • CLI - full-featured command-line interface with named connection contexts, session-based login, and shell completions.
  • SDKs - client libraries for 7 languages (Rust, Python, Java, Go, Node.js, C#, C++) with examples for each.
  • Benchmarking - built-in iggy-bench tool with a Yew/WebAssembly dashboard for performance testing.

On this page