Simulated. Calibrated against real RabbitMQ 4.0.5 and 4.3.6 and Kafka 4.3.1 on: routing, redeliveries, dead-letter queue, spread across consumers, partition by key, group assignment and rebalancing, where a newcomer resumes after a crash, and share group deliveries, locks and crashes. SQS against an emulator (ElasticMQ 1.7.1), not against AWS; SNS from the documentation; NATS JetStream, Redis Streams and MQTT against real NATS 2.15.0, Redis 8.0.2 and Mosquitto 2.0.21. It does not measure timing or throughput.
C1 processes and is slow to acknowledge; it dies with work done and not acknowledged. What gets repeated in each broker?
RabbitMQ
- 7processed once
- 3with the effect repeated
- 0lost
- 0dead-lettered or archived
- 0never read
- 0accepted without being processed
- 0processed out of order
- 0unfinished at the end
| Message | State | Deliveries | Processed |
|---|---|---|---|
| m0 | acknowledged | 2 | 2 |
| m1 | acknowledged | 1 | 1 |
| m2 | acknowledged | 2 | 2 |
| m3 | acknowledged | 1 | 1 |
| m4 | acknowledged | 2 | 2 |
| m5 | acknowledged | 1 | 1 |
| m6 | acknowledged | 2 | 1 |
| m7 | acknowledged | 1 | 1 |
| m8 | acknowledged | 2 | 1 |
| m9 | acknowledged | 1 | 1 |
Kafka (classic group)
- 7processed once
- 3with the effect repeated
- 0lost
- 0dead-lettered or archived
- 0never read
- 0accepted without being processed
- 0processed out of order
- 0unfinished at the end
| Message | State | Deliveries | Processed |
|---|---|---|---|
| m0 | acknowledged | 2 | 2 |
| m1 | acknowledged | 1 | 1 |
| m2 | acknowledged | 2 | 2 |
| m3 | acknowledged | 1 | 1 |
| m4 | acknowledged | 2 | 2 |
| m5 | acknowledged | 2 | 1 |
| m6 | acknowledged | 2 | 1 |
| m7 | acknowledged | 1 | 1 |
| m8 | acknowledged | 1 | 1 |
| m9 | acknowledged | 1 | 1 |
Kafka (share group)
- 7processed once
- 3with the effect repeated
- 0lost
- 0dead-lettered or archived
- 0never read
- 0accepted without being processed
- 0processed out of order
- 0unfinished at the end
| Message | State | Deliveries | Processed |
|---|---|---|---|
| m0 | acknowledged | 2 | 2 |
| m1 | acknowledged | 1 | 1 |
| m2 | acknowledged | 2 | 2 |
| m3 | acknowledged | 1 | 1 |
| m4 | acknowledged | 2 | 2 |
| m5 | acknowledged | 2 | 1 |
| m6 | acknowledged | 2 | 1 |
| m7 | acknowledged | 1 | 1 |
| m8 | acknowledged | 1 | 1 |
| m9 | acknowledged | 1 | 1 |
Amazon SQS (with SNS)
- 7processed once
- 3with the effect repeated
- 0lost
- 0dead-lettered or archived
- 0never read
- 0accepted without being processed
- 0processed out of order
- 0unfinished at the end
| Message | State | Deliveries | Processed |
|---|---|---|---|
| m0 | acknowledged | 2 | 2 |
| m1 | acknowledged | 2 | 2 |
| m2 | acknowledged | 2 | 2 |
| m3 | acknowledged | 2 | 1 |
| m4 | acknowledged | 2 | 1 |
| m5 | acknowledged | 1 | 1 |
| m6 | acknowledged | 1 | 1 |
| m7 | acknowledged | 1 | 1 |
| m8 | acknowledged | 1 | 1 |
| m9 | acknowledged | 1 | 1 |
NATS JetStream
- 7processed once
- 3with the effect repeated
- 0lost
- 0dead-lettered or archived
- 0never read
- 0accepted without being processed
- 0processed out of order
- 0unfinished at the end
| Message | State | Deliveries | Processed |
|---|---|---|---|
| m0 | acknowledged | 2 | 2 |
| m1 | acknowledged | 1 | 1 |
| m2 | acknowledged | 2 | 2 |
| m3 | acknowledged | 1 | 1 |
| m4 | acknowledged | 2 | 2 |
| m5 | acknowledged | 1 | 1 |
| m6 | acknowledged | 2 | 1 |
| m7 | acknowledged | 1 | 1 |
| m8 | acknowledged | 2 | 1 |
| m9 | acknowledged | 1 | 1 |
Redis Streams
- 7processed once
- 3with the effect repeated
- 0lost
- 0dead-lettered or archived
- 0never read
- 0accepted without being processed
- 0processed out of order
- 0unfinished at the end
| Message | State | Deliveries | Processed |
|---|---|---|---|
| m0 | acknowledged | 2 | 2 |
| m1 | acknowledged | 1 | 1 |
| m2 | acknowledged | 2 | 2 |
| m3 | acknowledged | 2 | 2 |
| m4 | acknowledged | 2 | 1 |
| m5 | acknowledged | 2 | 1 |
| m6 | acknowledged | 2 | 1 |
| m7 | acknowledged | 1 | 1 |
| m8 | acknowledged | 1 | 1 |
| m9 | acknowledged | 1 | 1 |
MQTT (Mosquitto)
- 5processed once
- 0with the effect repeated
- 0lost
- 0dead-lettered or archived
- 0never read
- 0accepted without being processed
- 0processed out of order
- 5unfinished at the end
| Message | State | Deliveries | Processed |
|---|---|---|---|
| m0 | unacknowledged | 1 | 1 |
| m1 | acknowledged | 1 | 1 |
| m2 | unacknowledged | 1 | 1 |
| m3 | acknowledged | 1 | 1 |
| m4 | unacknowledged | 1 | 1 |
| m5 | acknowledged | 1 | 1 |
| m6 | unacknowledged | 1 | 0 |
| m7 | acknowledged | 1 | 1 |
| m8 | unacknowledged | 1 | 0 |
| m9 | acknowledged | 1 | 1 |