As Filas de Trabalho do RabbitMQ ("modo de trabalho") envolvem um produtor e vários consumidores. Cada mensagem só pode ser consumida por um consumidor, permitindo o consumo concorrente de mensagens.
Diagrama de Arquitetura
Explicação: P representa o produtor, C1 e C2 representam os consumidores, e a cor vermelha representa a fila.
Casos de Uso
Este modo é adequado para cenários que envolvem processamento concorrente individual e um-para-um. Por exemplo, ao enviar 1000 e-mails, você pode utilizar 100 consumidores para enviar concorrentemente 100 e-mails de cada vez.
Observação: Quando múltiplos consumidores estão consumindo mensagens concorrentemente da mesma fila, não é possível garantir uma ordem estrita das mensagens. Por exemplo, se houver 10 mensagens na fila e 10 consumidores as processando concorrentemente, alguns consumidores podem executar mais rápido do que outros. Como resultado, a ordem de processamento das mensagens pode não coincidir com a ordem das mensagens na fila. Se o seu negócio tem requisitos estritos para a ordem das mensagens, você pode controlar cada fila para ter apenas um consumidor, garantindo a ordem estrita de processamento das mensagens ao custo da redução da concorrência.