tinybroker is not a replacement for production message brokers — it is a deliberately smaller tool for a narrower problem. The comparisons below explain when each alternative is the better choice and when tinybroker is the right fit.
Feature matrix
| tinybroker | NATS (core) | Kafka | RabbitMQ | Pulsar | Redis Pub/Sub | PostgreSQL | |
|---|---|---|---|---|---|---|---|
| In-memory only | ✓ | ✓ | — | — | — | ✓ | — |
| Persistent | — | JetStream | ✓ | ✓ | ✓ | Streams | ✓ |
| Wildcard patterns | ✓ | ✓ | — | ✓ | ✓ | ✓ | — |
| Consumer groups | ✓ | JetStream | ✓ | ✓ | ✓ | Streams | — |
| gRPC API | ✓ | — | — | — | ✓ | — | — |
| Zero config | ✓ | ✓ | — | — | — | ✓ | — |
| Container image | <10 MB | ~30 MB | >500 MB | ~200 MB | >1 GB | ~30 MB | ~400 MB |
| Dynamic topics | ✓ | ✓ | — | ✓ | ✓ | ✓ | — |
tinybroker vs Iggy — when you want a smaller footprint without persistence or multi-protocol support.
vs NATStinybroker vs NATS core — both are lightweight, but NATS lacks consumer groups in core mode.
vs Apache Kafkatinybroker vs Kafka — wildcard topics and dynamic subscriptions vs persistent ordered log.
vs Redis Pub/Subtinybroker vs Redis PUBLISH/SUBSCRIBE — more consumer group control, dedicated interface, no shared cache dependency.
vs Apache Pulsartinybroker vs Pulsar — full-featured streaming vs minimal coordination bus.
vs RabbitMQtinybroker vs RabbitMQ — gRPC pub/sub vs AMQP exchange/queue model.
vs PostgreSQL LISTEN/NOTIFYtinybroker vs PostgreSQL LISTEN/NOTIFY — dedicated messaging vs database broadcast primitive.