[ARQUITETURA ORIENTADA A EVENTOS] Fila vs Tópico e o pattern one-to-many

No capítulo 2, seção 3, vemos a diferença entre fila e tópico

Fila é quando você só tem uma aplicação consumidora e só ela vai receber as mensagens, tópico é quando você tem mais de uma e todas elas vão receber uma cópia da mesma mensagem

Porém, na página 57 temos um exemplo (Figura 3.3), com mais de um consumidor, e cada consumidor está recebendo uma mensagem diferente, esse exemplo é uma fila ou um tópico? Onde se encaixa?

Estou com dúvida para entender isso, pois ele tem mais de uma aplicação consumidora, então não pode ser fila, mas também não pode ser tópico porque as consumidoras não estão recebendo cópias da mesma mensagem…

Olá Arthur. Esse exemplo é de uma fila. Quando uma aplicação não “consegue dar conta” de processar as mensagens de uma fila ou simplesmente porque queremos paralelizar o trabalho, podemos utilizar N consumidores escutando a mesma fila. Padrões conhecidos como consumidores concorrentes (competing consumers), grupo de consumidores (consumer groups) e fila de trabalho (work queues).

1 curtida

Obrigado Roberto pelo esclarecimento, e complementando, na página 188 há uma explicação de “Como garantir que aplicações consumidoras distintas não consomem o mesmo evento da fila”