Pular para o conteúdo principal

Questão de Arquitetura de Software — Arquitetura de Software — FUNDEP (Gestão de Concursos) 2024

Arquitetura de SoftwareArquitetura de Software
Código
qg185131
Banca
FUNDEP (Gestão de Concursos)
Órgão
Câmara de Betim - MG
Ano
2024
Nível
Superior
Cargo
Consultor Técnico Legislativo - Analista de Desenvolvimento de Tecnologia
Considere um sistema de e-commerce que precisa processar os pedidos dos clientes e notificar tanto os clientes quanto os administradores sobre o status dos pedidos. O sistema é projetado para ser altamente escalável e resiliente.Os pedidos são recebidos por meio de uma interface web e enviados para um serviço intermediário, que irá controlar o processamento dos pedidos. De forma assíncrona, esse intermediário irá encaminhar os pedidos para o servidor para que sejam processados um a um. Uma notificação é enviada aos clientes por e-mail após finalização de cada pedido.Assinale a alternativa que apresenta o modelo arquitetural adequado para esse sistema.
  1. AMicrosserviços.
  2. BFila de Mensagens
  3. CCliente-Servidor
  4. DArquitetura MVC
Revelar gabarito e comentário

GabaritoB — Fila 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”.

Análise do modelo arquitetural

Gabarito: letra B – Fila de Mensagens. O sistema descrito utiliza um serviço intermediário para processamento assíncrono, característica central de filas de mensagens, que garantem escalabilidade e resiliência. O enunciado enfatiza que os pedidos são recebidos e, de forma assíncrona, encaminhados um a um para um servidor, com notificação posterior — exatamente o padrão de uma fila de mensagens (broker).

Alternativa

Modelo Arquitetural

Característica Central

Adequação ao Sistema (processamento assíncrono, fila, notificação)

A

Microsserviços

Decomposição em serviços independentes

❌ Incorreta (foco não é na divisão em serviços, mas no mecanismo de integração)

B

Fila de Mensagens

Componente intermediário (broker) para envio assíncrono

✅ Correta (descreve exatamente o padrão: pedidos em fila, processamento um a um, notificação posterior)

C

Cliente-Servidor

Modelo síncrono (requisição-resposta)

❌ Incorreta (processamento é assíncrono, não bloqueante)

D

Arquitetura MVC

Padrão de organização de interface de usuário

❌ Incorreta (não se aplica ao fluxo de backend descrito)

Alternativa A — ❌ Incorreta

Microsserviços é um estilo que decompõe a aplicação em serviços independentes. Embora possa usar filas para comunicação assíncrona, a descrição não menciona múltiplos serviços autônomos; há apenas um "serviço intermediário" e um "servidor" processando sequencialmente. O foco do enunciado é no mecanismo de integração assíncrona (a fila), não na divisão em microsserviços.

Alternativa B — ✅ Correta ⟵ GABARITO

Fila de Mensagens é um padrão arquitetural onde um componente intermediário (broker) gerencia o envio assíncrono de mensagens entre produtores e consumidores. No caso, a interface web produz mensagens de pedido; o serviço intermediário as coloca em uma fila; e o servidor as consome de forma ordenada ("um a um"). Isso desacopla temporalmente os componentes, torna o sistema mais resiliente a picos de carga e a falhas do servidor, e permite notificações assíncronas após o processamento.

Alternativa C — ❌ Incorreta

Cliente-Servidor é um modelo síncrono: o cliente faz uma requisição e bloqueia até receber a resposta. No sistema descrito, o processamento é assíncrono (o intermediário encaminha os pedidos sem bloquear a interface web). Além disso, cliente-servidor não oferece fila de espera nem resiliência contra falhas do servidor sem mecanismos adicionais.

Alternativa D — ❌ Incorreta

MVC (Model-View-Controller) é um padrão de organização de interface de usuário, que separa a lógica de apresentação (View), a lógica de controle (Controller) e os dados (Model). Não se aplica ao fluxo de processamento de pedidos entre componentes de backend. O enunciado foca na comunicação assíncrona entre sistemas, não na estrutura interna de uma aplicação web.

NÃO CAIA NESSA!

A banca explora a confusão entre "usar filas" e "adotar microsserviços". Embora ambos possam coexistir, a questão descreve explicitamente um intermediário que controla o processamento assíncrono — essência de uma fila de mensagens. Microsserviços envolveria múltiplos serviços com seus próprios bancos de dados e comunicação via API, não necessariamente com uma fila central. Fique atento: quando o texto fala em "serviço intermediário" e "encaminhamento assíncrono", pense em fila de mensagens.

Gabarito: letra B – Fila de Mensagens.

Link permanente: /questoes/qg185131