Quando usar uma fila de mensagens
Pergunta
Em que situação você introduziria uma fila de mensagens (ex: SQS, RabbitMQ) entre dois serviços?
Resposta esperada
Quando o produtor não precisa (ou não deve) esperar o consumidor terminar o processamento — desacoplando os dois no tempo. Casos típicos: processar um upload de vídeo, enviar emails em lote, ou absorver picos de tráfego sem sobrecarregar o serviço downstream (a fila funciona como buffer). O trade-off é a consistência eventual: o efeito da ação não é imediato, e o sistema precisa lidar com falhas de processamento (retry, dead-letter queue) em vez de simplesmente devolver um erro síncrono.
Por que perguntam isso
Boa resposta menciona dead-letter queue e idempotência do consumidor — sinal de quem já operou fila em produção, não só leu sobre o conceito.