Simulado. Calibrado com RabbitMQ 4.0.5 e 4.3.6 e Kafka 4.3.1 reais em: encaminhamento, reentregas, fila de mensagens mortas, distribuição entre consumidores, partição por chave, distribuição e rebalanceamento do grupo, onde continua quem entra depois de uma falha, e entregas, bloqueios e quedas dos share groups. O SQS, com um emulador (ElasticMQ 1.7.1), não com a AWS; o SNS, segundo a documentação; o NATS JetStream, o Redis Streams e o MQTT, com o NATS 2.15.0, o Redis 8.0.2 e o Mosquitto 2.0.21 reais. Não mede tempos nem desempenho.
C1 processa e demora a confirmar; morre com trabalho feito e sem confirmar. O que se repete em cada broker?
RabbitMQ
- 7processados uma vez
- 3com o efeito repetido
- 0perdidos
- 0na fila de mensagens mortas ou arquivados
- 0nunca lidos
- 0considerados como concluídos sem serem processados
- 0processados fora de ordem
- 0sem terminar no final
| Mensagem | Estado | Entregas | Processado |
|---|---|---|---|
| m0 | confirmado | 2 | 2 |
| m1 | confirmado | 1 | 1 |
| m2 | confirmado | 2 | 2 |
| m3 | confirmado | 1 | 1 |
| m4 | confirmado | 2 | 2 |
| m5 | confirmado | 1 | 1 |
| m6 | confirmado | 2 | 1 |
| m7 | confirmado | 1 | 1 |
| m8 | confirmado | 2 | 1 |
| m9 | confirmado | 1 | 1 |
Kafka (grupo clássico)
- 7processados uma vez
- 3com o efeito repetido
- 0perdidos
- 0na fila de mensagens mortas ou arquivados
- 0nunca lidos
- 0considerados como concluídos sem serem processados
- 0processados fora de ordem
- 0sem terminar no final
| Mensagem | Estado | Entregas | Processado |
|---|---|---|---|
| m0 | confirmado | 2 | 2 |
| m1 | confirmado | 1 | 1 |
| m2 | confirmado | 2 | 2 |
| m3 | confirmado | 1 | 1 |
| m4 | confirmado | 2 | 2 |
| m5 | confirmado | 2 | 1 |
| m6 | confirmado | 2 | 1 |
| m7 | confirmado | 1 | 1 |
| m8 | confirmado | 1 | 1 |
| m9 | confirmado | 1 | 1 |
Kafka (share group)
- 7processados uma vez
- 3com o efeito repetido
- 0perdidos
- 0na fila de mensagens mortas ou arquivados
- 0nunca lidos
- 0considerados como concluídos sem serem processados
- 0processados fora de ordem
- 0sem terminar no final
| Mensagem | Estado | Entregas | Processado |
|---|---|---|---|
| m0 | confirmado | 2 | 2 |
| m1 | confirmado | 1 | 1 |
| m2 | confirmado | 2 | 2 |
| m3 | confirmado | 1 | 1 |
| m4 | confirmado | 2 | 2 |
| m5 | confirmado | 2 | 1 |
| m6 | confirmado | 2 | 1 |
| m7 | confirmado | 1 | 1 |
| m8 | confirmado | 1 | 1 |
| m9 | confirmado | 1 | 1 |
Amazon SQS (com SNS)
- 7processados uma vez
- 3com o efeito repetido
- 0perdidos
- 0na fila de mensagens mortas ou arquivados
- 0nunca lidos
- 0considerados como concluídos sem serem processados
- 0processados fora de ordem
- 0sem terminar no final
| Mensagem | Estado | Entregas | Processado |
|---|---|---|---|
| m0 | confirmado | 2 | 2 |
| m1 | confirmado | 2 | 2 |
| m2 | confirmado | 2 | 2 |
| m3 | confirmado | 2 | 1 |
| m4 | confirmado | 2 | 1 |
| m5 | confirmado | 1 | 1 |
| m6 | confirmado | 1 | 1 |
| m7 | confirmado | 1 | 1 |
| m8 | confirmado | 1 | 1 |
| m9 | confirmado | 1 | 1 |
NATS JetStream
- 7processados uma vez
- 3com o efeito repetido
- 0perdidos
- 0na fila de mensagens mortas ou arquivados
- 0nunca lidos
- 0considerados como concluídos sem serem processados
- 0processados fora de ordem
- 0sem terminar no final
| Mensagem | Estado | Entregas | Processado |
|---|---|---|---|
| m0 | confirmado | 2 | 2 |
| m1 | confirmado | 1 | 1 |
| m2 | confirmado | 2 | 2 |
| m3 | confirmado | 1 | 1 |
| m4 | confirmado | 2 | 2 |
| m5 | confirmado | 1 | 1 |
| m6 | confirmado | 2 | 1 |
| m7 | confirmado | 1 | 1 |
| m8 | confirmado | 2 | 1 |
| m9 | confirmado | 1 | 1 |
Redis Streams
- 7processados uma vez
- 3com o efeito repetido
- 0perdidos
- 0na fila de mensagens mortas ou arquivados
- 0nunca lidos
- 0considerados como concluídos sem serem processados
- 0processados fora de ordem
- 0sem terminar no final
| Mensagem | Estado | Entregas | Processado |
|---|---|---|---|
| m0 | confirmado | 2 | 2 |
| m1 | confirmado | 1 | 1 |
| m2 | confirmado | 2 | 2 |
| m3 | confirmado | 2 | 2 |
| m4 | confirmado | 2 | 1 |
| m5 | confirmado | 2 | 1 |
| m6 | confirmado | 2 | 1 |
| m7 | confirmado | 1 | 1 |
| m8 | confirmado | 1 | 1 |
| m9 | confirmado | 1 | 1 |
MQTT (Mosquitto)
- 5processados uma vez
- 0com o efeito repetido
- 0perdidos
- 0na fila de mensagens mortas ou arquivados
- 0nunca lidos
- 0considerados como concluídos sem serem processados
- 0processados fora de ordem
- 5sem terminar no final
| Mensagem | Estado | Entregas | Processado |
|---|---|---|---|
| m0 | sem confirmar | 1 | 1 |
| m1 | confirmado | 1 | 1 |
| m2 | sem confirmar | 1 | 1 |
| m3 | confirmado | 1 | 1 |
| m4 | sem confirmar | 1 | 1 |
| m5 | confirmado | 1 | 1 |
| m6 | sem confirmar | 1 | 0 |
| m7 | confirmado | 1 | 1 |
| m8 | sem confirmar | 1 | 0 |
| m9 | confirmado | 1 | 1 |