All four keep a replicated, replayable log and are free to self-host; only Kafka 129 has several competing managed services. Memory is for idle containers on this shared 4-CPU machine.
| Kafka 4.3 | Pulsar 4.2 | RabbitMQ 28,807 Streams 4.3 | NATS JetStream 2.15 | |
|---|---|---|---|---|
| Licence | Apache 2.0 | Apache 2.0 | MPL 2.0 | Apache 2.0 |
| Storage | Broker log, tiered | BookKeeper, tiered | Replicated segments | Files or memory, Raft |
| Unit of scale | Partition | Partition, bundle | Super stream partition | Stream |
| Queue semantics | Share groups (4.2+) | Shared, Key_Shared | Classic and quorum queues | Work-queue streams |
| Exactly-once | Transactions | Transactions | Publisher dedup | Dedup, double ack |
| Idle memory here | 286 MiB | 720-780 MiB | Not run | 20 MiB |
| Managed or support | Many (6.16-6.18) | StreamNative | Broadcom | Synadia |