Questão de Arquitetura de Software — SOA (Service-oriented architecture) — INSTITUTO AOCP 2025
Arquitetura de Software›SOA (Service-oriented architecture)
Código
qg543484
Banca
INSTITUTO AOCP
Órgão
TRE-TO
Ano
2025
Nível
Superior
Cargo
Analista Judiciário - Área de Atividade: Apoio Especializado - Especialidade: Tecnologia da Informação
Uma equipe de desenvolvimento está projetando uma aplicação baseada em arquitetura de microsserviços, com foco em alta escalabilidade, resiliência e facilidade de manutenção. O sistema utiliza Spring Boot, Spring Cloud e adota boas práticas como uso de Swagger para documentação, MapStruct para mapeamento de DTO (Data Transfer Object), além de Spring Eureka para descoberta de serviços e Zuul como API Gateway. Durante uma revisão de arquitetura, foi levantada a necessidade de garantir baixo acoplamento, descoberta dinâmica de serviços e balanceamento de carga transparente entre instâncias. A partir desse cenário, assinale a alternativa correta.
AA utilização de Spring Boot elimina a necessidade de um gateway de entrada como o Zuul, pois o framework já oferece roteamento nativo entre serviços por meio de anotações REST.
BA ferramenta MapStruct é utilizada para balanceamento de carga entre microsserviços registrados no Eureka Server, substituindo a necessidade do uso de Ribbon ou LoadBalancer.
CO Spring Eureka permite o registro e a descoberta automática de serviços em tempo de execução, promovendo escalabilidade horizontal ao permitir múltiplas instâncias de serviços sob um mesmo identificador lógico.
DO Swagger atua como mecanismo de autenticação centralizada entre microsserviços, implementando OAuth2 integrado ao Spring Security.
EO Zuul, quando integrado ao Eureka, impede o roteamento dinâmico entre microsserviços, exigindo configurações estáticas e manuais para cada endpoint do sistema.
Revelar gabarito e comentário▾
GabaritoC — O Spring Eureka permite o registro e a descoberta automática de serviços em tempo de execução, promovendo escalabilidade horizontal ao permitir múltiplas instâncias de serviços sob um mesmo identificador lógico.
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 das alternativas sobre microsserviços e ferramentas Spring
Gabarito: letra C. O Spring Eureka atua como um service registry, permitindo que microsserviços se registrem e sejam descobertos dinamicamente. Isso viabiliza a escalabilidade horizontal, pois múltiplas instâncias de um mesmo serviço podem ser registradas sob um identificador lógico, e os consumidores podem descobri-las sem configuração manual.
Ecossistema Spring Cloud: Eureka (Service Registry, Registro e descoberta dinâmica, Escalabilidade horizontal); Zuul (API Gateway, Roteamento dinâmico (com Eureka), Balanceamento, segurança); Ribbon / LoadBalancer (Balanceamento de carga); MapStruct (Mapeamento de DTOs); Swagger (OpenAPI) (Documentação de APIs)
Alternativa A — ❌ Incorreta
Spring Boot é um framework para criação de aplicações, mas não substitui um API Gateway como o Zuul. O gateway é responsável por roteamento, balanceamento, segurança e ponto único de entrada. O Spring Boot não oferece roteamento nativo entre serviços;
Alternativa B — ❌ Incorreta
MapStruct é uma biblioteca de mapeamento de objetos (DTOs), não tem relação com balanceamento de carga. O balanceamento entre instâncias registradas no Eureka é feito por ferramentas como Ribbon ou o LoadBalancer do Spring Cloud;
Alternativa C — ✅ Correta ⟵ GABARITO
O Spring Eureka implementa o padrão Service Registry. Serviços se registram no Eureka Server e clientes o consultam para descobrir instâncias disponíveis. Isso permite que múltiplas instâncias de um mesmo serviço (mesmo ID lógico) sejam registradas, promovendo escalabilidade horizontal e resiliência;
Alternativa D — ❌ Incorreta
Swagger (OpenAPI) é uma ferramenta de documentação e visualização de APIs REST. Não realiza autenticação. A autenticação centralizada pode ser feita com OAuth2 e Spring Security, mas o Swagger apenas consome e exibe as especificações;
Alternativa E — ❌ Incorreta
Zuul, quando integrado ao Eureka, permite roteamento dinâmico. Ele consulta o Eureka para obter a localização das instâncias e encaminha as requisições automaticamente, sem necessidade de configurações estáticas. A afirmação inverte o comportamento real.
PEGA ESSA DICA!
Em questões sobre o ecossistema Spring Cloud, lembre-se do papel de cada componente: Eureka → registro/descoberta; Zuul → gateway; Ribbon → balanceamento; MapStruct → mapeamento DTO; Swagger → documentação. Essa associação direta é frequentemente cobrada.