Questão de Arquitetura de Software — Sistemas Distribuídos — CESPE / CEBRASPE 2025
Arquitetura de Software›Sistemas Distribuídos
Código
ce195199
Banca
CESPE / CEBRASPE
Órgão
BANRISUL
Ano
2025
Nível
Superior
Cargo
Técnico em Tecnologia da Informação II - Desenvolvimento de Software
Em um sistema distribuído que usa eventos para a comunicação entre serviços, uma ação que melhora a escalabilidade da arquitetura é
Aa exigência de que cada serviço processador de eventos esteja vinculado a um único emissor, sem possibilidade de assinaturas múltiplas.
Ba redução da quantidade de eventos gerados para evitar sobrecarga nos serviços consumidores.
Co envio de eventos de maneira síncrona, para garantir que cada componente processe os dados no mesmo instante em que o evento ocorre.
Da utilização de um barramento de eventos que permita a comunicação assíncrona entre múltiplos serviços interessados na mesma mensagem.
Ea imposição de um fluxo fixo e sequencial para cada evento, garantindo-se processamento ordenado sem variações.
Revelar gabarito e comentário▾
GabaritoD — a utilização de um barramento de eventos que permita a comunicação assíncrona entre múltiplos serviços interessados na mesma mensagem.
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”.
Sistemas Distribuídos: Escalabilidade com Eventos
Gabarito: letra D. A comunicação assíncrona via barramento de eventos é uma prática consagrada para melhorar a escalabilidade em arquiteturas distribuídas, pois desacopla os serviços e permite que múltiplos consumidores processem o mesmo evento de forma independente. O conceito de barramento de software, descrito no contexto, ilustra exatamente essa flexibilidade: ele funciona como um middleware que conecta objetos (ou serviços) sem acoplamento rígido, possibilitando adicionar ou remover nós dinamicamente.
A banca testa a compreensão de que escalabilidade exige desacoplamento e processamento assíncrono, enquanto as alternativas incorretas propõem medidas que restringem o paralelismo ou impõem sincronismo.
Escalabilidade com eventos
1Práticas que melhoram
Barramento de eventos
Comunicação assíncrona
Múltiplos consumidores
Desacoplamento
Adição/remoção dinâmica
2Práticas que pioram
Vinculação a único emissor
Redução de eventos
Envio síncrono
Fluxo fixo sequencial
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
Vincular cada serviço processador a um único emissor e proibir assinaturas múltiplas vai contra o princípio de publish/subscribe, que é justamente o que permite escalar horizontalmente. Isso cria um acoplamento forte e impede que vários consumidores tratem o mesmo evento – reduzindo a capacidade de distribuir carga.
Alternativa B — ❌ Incorreta
Reduzir a quantidade de eventos gerados não melhora a escalabilidade; no máximo evita sobrecarga momentânea. Escalabilidade é a capacidade de lidar com aumento de carga, e a solução correta é distribuir o processamento, não limitar a geração de eventos.
Alternativa C — ❌ Incorreta
Envio síncrono de eventos exige que o emissor aguarde a resposta do consumidor, criando dependência temporal e gargalos. A escalabilidade é favorecida por comunicação assíncrona, que libera o emissor para continuar seu fluxo sem esperar.
Alternativa D — ✅ Correta ⟵ GABARITO
Um barramento de eventos (ou barramento de software) permite que múltiplos serviços assinem e processem o mesmo evento de forma assíncrona, sem que o emissor precise conhecer os consumidores. Isso desacopla os componentes e possibilita adicionar novos consumidores conforme a demanda, melhorando a escalabilidade. O contexto reforça que o barramento de software permite que objetos sejam acrescentados ou removidos sem interferir nos demais.
Alternativa E — ❌ Incorreta
Impor fluxo fixo e sequencial para cada evento elimina o paralelismo e o processamento concorrente, pilares da escalabilidade. Ordenação total pode ser necessária em alguns casos, mas, como regra geral, reduz a capacidade de escalar horizontalmente.
PEGA ESSA DICA!
Em questões de escalabilidade em sistemas distribuídos, desconfie de alternativas que propõem restrições (emissor único, síncrono, fluxo sequencial). O padrão que a banca explora é o desacoplamento via mensageria assíncrona (barramento de eventos, filas, pub/sub). Memorize os benefícios: independência entre serviços, tolerância a falhas e facilidade de adicionar novos consumidores.