Questão nº 57
Questão de Tecnologia da Informação · FGV DATAPREV 2024 (nº 57)
Em relação às arquiteturas hexagonal e de microsserviços, considere as seguintes afirmações:
I. A arquitetura hexagonal, também chamada de Arquitetura de Portas e Adaptadores, visa separar a lógica de negócios das interfaces externas, permitindo uma fácil troca de implementações.
II. Microsserviços são pequenos serviços que compartilham o mesmo banco de dados, promovendo maior acoplamento entre os módulos da aplicação para garantir a consistência dos dados.
III. A arquitetura monolítica pode ser distribuída, mas requer que todos os módulos sejam implantados como um conjunto, ao contrário dos microsserviços, que permitem a implantação independente de cada módulo.
Está correto o que se afirma em
- AI, apenas.
- BII, apenas.
- CIII, apenas.
- DI e II, apenas.
- EI e III, apenas. (alternativa correta)
Resposta comentada
Gabarito Alternativa E
A Arquitetura Hexagonal (ou Portas e Adaptadores) foca em isolar a lógica de negócios do seu sistema de todas as tecnologias externas, como bancos de dados e interfaces de usuário, tornando-a independente. Já os Microsserviços são pequenas aplicações independentes que trabalham juntas, cada uma responsável por uma funcionalidade específica e com sua própria base de dados.
(A) Incorreta: Esta alternativa afirma que apenas a I está correta, mas a afirmação III também está correta.
(B) Incorreta: A afirmação II está incorreta, pois microsserviços não compartilham o mesmo banco de dados para evitar acoplamento.
(C) Incorreta: Esta alternativa afirma que apenas a III está correta, mas a afirmação I também está correta.
(D) Incorreta: A afirmação II está incorreta, pois microsserviços não compartilham o mesmo banco de dados.
(E) Correta: A afirmação I descreve corretamente a Arquitetura Hexagonal, que separa a lógica de negócios das interfaces externas para facilitar a troca de implementações. A afirmação III também está correta ao diferenciar a implantação de monólitos (como um conjunto) da implantação de microsserviços (independentemente), mesmo que um monólito possa ser distribuído em múltiplas instâncias.
Distrator mais tentador (Afirmação II): A armadilha aqui é a ideia de que "compartilhar o mesmo banco de dados" e "promover maior acoplamento" garantiria a consistência. Embora em sistemas monolíticos um único banco de dados possa simplificar a consistência transacional, em microsserviços, o compartilhamento de banco de dados é uma anti-pattern. Ele cria um forte acoplamento entre os serviços, minando a independência e autonomia que são pilares da arquitetura de microsserviços. Cada microsserviço deve ter seu próprio banco de dados para garantir sua independência e permitir a evolução e implantação autônomas.
Fonte: FGV DATAPREV 2024 Analista de Tecnologia da Informação - Desenvolvimento de Software (Caderno Tipo 1). Reproduzida para fins de estudo.