Questão de Arquitetura de Software — Sistemas Distribuídos — FGV 2026
Arquitetura de Software›Sistemas Distribuídos
Código
fg133903
Banca
FGV
Órgão
TJ-RJ
Ano
2026
Nível
Superior
Cargo
Analista Judiciário - Tecnologia da Informação - Analista de Sistemas
Uma equipe de analistas está desenvolvendo um sistema de notificação em tempo real para informar outros sistemas sobre alterações de status em processos judiciais. A equipe deve basear o sistema em filas de mensagens, utilizando um servidor RabbitMQ. A fim de minimizar os custos associados ao tráfego de notificações, o sistema deve buscar, o máximo possível, entregar cada notificação exatamente uma vez. Para que o sistema opere dentro dos critérios propostos, a equipe deve configurar o servidor RabbitMQ de forma a:
Ausar filas temporárias e desativar ACKs;
Bdefinir fanout exchanges com filas exclusivas;
Cativar o modo NACK nos consumidores e usar mensagens transitórias;
Dativar publisher confirms, usar filas duráveis e mensagens persistentes;
Ehabilitar ACKs manuais nos consumidores e desabilitar persistência de mensagens.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
RabbitMQ: Garantia de entrega exatamente uma vez
Gabarito: letra D. A combinação de publisher confirms, filas duráveis e mensagens persistentes assegura que o broker confirme o recebimento e que as mensagens sobrevivam a reinicializações, condição essencial para atingir entrega exactly-once. As demais opções sacrificam durabilidade ou confirmação, incorrendo em perda ou duplicação.
Alternativa A — ❌ Incorreta
Usar filas temporárias e desativar ACKs elimina a confirmação de entrega. Mensagens podem se perder se o consumidor falhar antes de processar, violando a garantia de exatamente uma vez.
Alternativa B — ❌ Incorreta
Fanout exchanges com filas exclusivas são adequadas para broadcast, mas não oferecem mecanismos de persistência ou confirmação; não atendem ao requisito de exactly-once.
Alternativa C — ❌ Incorreta
Ativar NACK e usar mensagens transitórias não garante durabilidade. Mensagens transitórias são perdidas se o broker reiniciar, e o NACK apenas sinaliza falha, sem assegurar entrega única.
Alternativa D — ✅ Correta ⟵ GABARITO
Publisher confirms garantem que o broker recebeu a mensagem; filas duráveis e mensagens persistentes asseguram que elas não se percam com falhas. Com consumidores idempotentes, é possível atingir a entrega exatamente uma vez.
Alternativa E — ❌ Incorreta
ACKs manuais dão controle ao consumidor, mas desabilitar persistência faz com que as mensagens se percam em caso de reinicialização do broker, comprometendo a confiabilidade necessária para exactly-once.
PEGA ESSA DICA!
Em sistemas de mensageria, exactly-once geralmente requer confirmação do produtor (publisher confirms), durabilidade e idempotência no consumidor. Lembre-se: "persistência + confirmação = base para entrega confiável".