vs Apache Iggy
Apache Iggy is a high-performance, persistent message streaming platform written in Rust. It supports multiple protocols (QUIC, TCP, HTTP), persistence to disk, consumer groups, and horizontal partitioning.
Use Iggy when
- You need messages to survive broker restarts or process crashes.
- You need to replay historical messages from a specific offset.
- You are building a streaming pipeline where data durability is a requirement.
- You want multiple wire protocols (QUIC for low-latency clients, HTTP for browser compatibility).
- You need partitioned topics for high-throughput horizontal scaling.
Use tinybroker when
- You need pub/sub coordination between replicas of a service but have no durability requirement — a restart clearing all state is acceptable.
- You want a smaller operational footprint: a single static binary under 10 MB with no disk, no WAL, no compaction, no partition management.
- Your team already uses gRPC everywhere and a generated client is simpler than learning a new protocol or SDK.
- You want something that starts, connects, and disappears without operational ceremony.
The core trade-off
Iggy’s persistence and multi-protocol design is powerful but comes with operational surface area: disk management, retention policies, partition configuration, consumer group offsets, and upgrade procedures. tinybroker has none of that surface area — and none of that durability. Choose based on whether a message lost on restart matters for your use case.