Questão de Arquitetura de Software — Arquitetura de Software — IBFC 2024
Arquitetura de Software›Arquitetura de Software
Código
qg217759
Banca
IBFC
Órgão
Correios
Ano
2024
Nível
Superior
Cargo
Analista de Sistemas – Desenvolvimento de Sistemas
Sobre a implementação de comunicação assíncrona na arquitetura de microserviços, assinale a alternativa correta.
AA comunicação assíncrona garante a entrega instantânea de mensagens entre serviços, independentemente da capacidade dos serviços receptores
BFilas de mensagens e sistemas de publicação/assinatura (pub/sub) são comumente usados para implementar comunicação assíncrona, permitindo que os serviços funcionem de forma desacoplada
CComunicação assíncrona só é adequada para cenários em que a consistência forte é necessária em tempo real
DA comunicação assíncrona elimina a necessidade de garantir a resiliência dos microserviços, pois sempre há backups automáticos
Revelar gabarito e comentário▾
GabaritoB — Filas de mensagens e sistemas de publicação/assinatura (pub/sub) são comumente usados para implementar comunicação assíncrona, permitindo que os serviços funcionem de forma desacoplada
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”.
Comunicação assíncrona em microsserviços
Gabarito: letra B. A comunicação assíncrona é implementada por meio de filas de mensagens ou sistemas de publicação/assinatura (pub/sub), que permitem o desacoplamento entre serviços – o emissor não precisa aguardar a resposta do receptor, e as mensagens ficam armazenadas até serem processadas. Esse padrão é amplamente adotado para aumentar a escalabilidade e a resiliência do sistema.
Comunicação assíncrona em microsserviços
1Mecanismos
Filas de mensagens (RabbitMQ, Kafka)
Pub/Sub (Google Pub/Sub, AWS SNS/SQS)
2Características
Desacoplamento entre serviços
Mensagens armazenadas até processamento
Consistência eventual
Escalabilidade e resiliência
3Não garante
Entrega instantânea
Consistência forte em tempo real
Eliminação da necessidade de resiliência
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
A comunicação assíncrona não garante entrega instantânea. As mensagens são enviadas para uma fila ou tópico, e o receptor as consome quando possível. A afirmação de que a entrega é instantânea e independente da capacidade do receptor é falsa; na verdade, a assincronia lida justamente com a variação de carga, mas sem promessa de tempo real.
Alternativa B — ✅ Correta ⟵ GABARITO
Filas (como RabbitMQ, Apache Kafka) e sistemas pub/sub (como Google Pub/Sub, AWS SNS/SQS) são os mecanismos clássicos para comunicação assíncrona. Eles permitem que os microsserviços troquem mensagens sem acoplamento direto, favorecendo a autonomia e a evolução independente dos serviços.
Alternativa C — ❌ Incorreta
A comunicação assíncrona é inadequada para cenários que exigem consistência forte em tempo real, pois tipicamente adota consistência eventual. Quando a aplicação precisa de respostas imediatas e dados rigorosamente consistentes, a comunicação síncrona (ex.: REST síncrono) é mais adequada.
Alternativa D — ❌ Incorreta
A comunicação assíncrona não elimina a necessidade de resiliência. Ainda é preciso implementar padrões como circuit breaker, retry com backoff, filas de dead letter, e monitoramento. A assincronia reduz o acoplamento, mas não substitui as estratégias de tolerância a falhas.
NÃO CAIA NESSA!
O erro mais comum é achar que comunicação assíncrona significa entrega instantânea (alternativa A) ou que ela resolve todos os problemas de resiliência (alternativa D). Na verdade, a assincronia introduz complexidades próprias, como gerenciamento de filas, tratamento de mensagens duplicadas e garantia de entrega.