Pular para o conteúdo principal

Questão de Arquitetura de Software — Software — FCC 2023

Arquitetura de SoftwareSoftware
Código
fc070436
Banca
FCC
Órgão
TRT - 21ª Região (RN)
Ano
2023
Nível
Superior
Cargo
Analista Judiciário - Área: Apoio Especializado - Tecnologia da Informação
O RestTemplate é uma classe do Spring Framework usada para fazer chamadas HTTP a serviços externos. À anotação usada para modificar o comportamento padrão do RestTemplate indicando que ele deve ser configurado para suportar o balanceamento de carga ao chamar serviços registrados em um servidor de descoberta, como o Eureka, é a anotação
  1. A@LoadBalanced
  2. B@LoadBalancedRestfull
  3. C@RestfullLoadBalanced
  4. D@ComponentBalanced
  5. E@BeanLoadBalanced
Revelar gabarito e comentário

GabaritoA — @LoadBalanced

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”.

Spring Framework: RestTemplate e balanceamento de carga com @LoadBalanced

Gabarito: letra A. A anotação correta para configurar o RestTemplate com suporte a balanceamento de carga em serviços registrados no Eureka (ou outro servidor de descoberta) é @LoadBalanced. Essa anotação permite que o RestTemplate utilize um LoadBalancerClient para distribuir as requisições entre as instâncias disponíveis.

A banca testa o conhecimento das anotações do Spring Cloud. No Spring Cloud, para tornar um RestTemplate balanceado, você declara um @Bean do tipo RestTemplate e anota o método com @LoadBalanced. Internamente, o Spring cria um RestTemplate interceptado que delega ao LoadBalancerClient a resolução do nome do serviço.

Anotação

Descrição

Status

@LoadBalanced

Anotação padrão do Spring Cloud para configurar RestTemplate com balanceamento de carga via LoadBalancerClient

✅ Correta (Gabarito)

@LoadBalancedRestfull

Anotação inexistente no Spring Framework ou Spring Cloud

❌ Incorreta

@RestfullLoadBalanced

Anotação inventada, ordem incorreta dos termos

❌ Incorreta

@ComponentBalanced

Não faz parte do ecossistema Spring Cloud

❌ Incorreta

@BeanLoadBalanced

Não é uma anotação do Spring; @Bean é usada no método, mas o qualificador é @LoadBalanced

❌ Incorreta

Alternativa A — ✅ Correta ⟵ GABARITO

@LoadBalanced é a anotação padrão do Spring Cloud para indicar que o RestTemplate deve ser configurado com balanceamento de carga, utilizando um LoadBalancerClient (como o Ribbon ou o Spring Cloud LoadBalancer).

Alternativa B — ❌ Incorreta

@LoadBalancedRestfull não existe no Spring Framework ou Spring Cloud. O nome correto é apenas @LoadBalanced. O termo "Restfull" não faz parte da anotação.

Alternativa C — ❌ Incorreta

@RestfullLoadBalanced também é uma anotação inventada. A ordem correta é "LoadBalanced" e não "Restfull" como prefixo.

Alternativa D — ❌ Incorreta

@ComponentBalanced não faz parte do ecossistema Spring Cloud. Anotações como @Component são genéricas, e @LoadBalanced é a específica para balanceamento em clientes REST.

Alternativa E — ❌ Incorreta

@BeanLoadBalanced não é uma anotação do Spring. A anotação @Bean é usada no método que declara o RestTemplate, mas o qualificador de balanceamento é @LoadBalanced, não uma combinação.

PEGA ESSA DICA!

Em provas sobre Spring Cloud, lembre-se de que a anotação é exatamente @LoadBalanced (sem extensões como "Rest" ou "Bean"). Ela deve ser aplicada no método @Bean que cria o RestTemplate. O Spring Cloud LoadBalancer (sucessor do Ribbon) também respeita essa anotação.

Gabarito: letra A.

Link permanente: /questoes/fc070436