Questão de Arquitetura de Software — Sistemas Distribuídos — FGV 2024
Arquitetura de Software›Sistemas Distribuídos
Código
fg086204
Banca
FGV
Órgão
INPE
Ano
2024
Nível
Superior
Cargo
Tecnologista Pleno I - Desenvolvimento de Software e Sistemas de Informações Geográficas, Banco de Dados Geográficos, Gestão e Disponibilização de Dados Geográficos via Web, Plataformas de Visualização de Dados Geográficos
Ao se escolher a arquitetura de software para um projeto, é fundamental considerar os requisitos não funcionais a serem priorizados.A arquitetura de microsserviços é mais indicada que a arquitetura monolítica, quando a prioridade é otimizar
Ao tempo de resposta.
Ba simplicidade de desenvolvimento.
Ca testabilidade.
Da disponibilidade.
Ea comunicação entre componentes.
Revelar gabarito e comentário▾
GabaritoD — a disponibilidade.
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”.
Microsserviços vs Monolítica: Requisitos Não Funcionais
Gabarito: letra D. A arquitetura de microsserviços é mais indicada para otimizar a disponibilidade, pois isola falhas em serviços independentes, evitando que um problema crítico derrube todo o sistema. No monolítico, uma falha pode comprometer a aplicação inteira. Esse é um princípio central de sistemas distribuídos.
A questão exige conhecer os trade-offs entre os estilos monolítico e microsserviços. A tabela a seguir resume as diferenças nos requisitos listados:
Requisito
Monolítico
Microsserviços
Tempo de resposta
Menor (chamadas locais)
Maior (overhead de rede)
Simplicidade de desenvolvimento
Maior (tudo integrado)
Menor (maior complexidade de coordenação)
Testabilidade
Mais simples (testes integrados)
Mais complexa (testes de contrato e integração)
Disponibilidade
Menor (falha total)
Maior (isolamento de falhas)
Comunicação entre componentes
Eficiente (chamadas internas)
Ineficiente (comunicação remota)
Alternativa A — ❌ Incorreta
O tempo de resposta tende a ser pior em microsserviços devido à latência de rede entre serviços. O monolítico, com chamadas locais, oferece melhor desempenho nesse aspecto.
Alternativa B — ❌ Incorreta
A simplicidade de desenvolvimento é maior no monolítico, que não exige a orquestração de múltiplos serviços. Microsserviços aumentam a complexidade, contrariando essa prioridade.
Alternativa C — ❌ Incorreta
A testabilidade em microsserviços é desafiadora, pois envolve testar contratos e integrações. O monolítico permite testes integrados mais diretos.
Alternativa D — ✅ Correta ⟵ GABARITO
A disponibilidade é o ponto forte dos microsserviços. Como cada serviço opera independentemente, falhas em um não afetam os demais, elevando a resiliência do sistema. No monolítico, um único erro pode derrubar toda a aplicação.
Alternativa E — ❌ Incorreta
A comunicação entre componentes em microsserviços é feita via rede (API, mensageria), o que é menos eficiente que as chamadas internas no monolítico. Não é otimizada nesse estilo.
NÃO CAIA NESSA!
Candidatos podem associar microsserviços a maior desempenho (tempo de resposta) ou simplicidade, mas essas são vantagens do monolítico. Lembre-se: microsserviços priorizam disponibilidade e escalabilidade, não velocidade ou simplicidade.