Pular para o conteúdo principal

Questão de Arquitetura de Software — Arquitetura de Software — IBFC 2024

Arquitetura de SoftwareArquitetura 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.
  1. AA comunicação assíncrona garante a entrega instantânea de mensagens entre serviços, independentemente da capacidade dos serviços receptores
  2. 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
  3. CComunicação assíncrona só é adequada para cenários em que a consistência forte é necessária em tempo real
  4. 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.

Gabarito: letra B.

Link permanente: /questoes/qg217759