Questão nº 91
Questão de Tecnologia da Informação · FGV TCE-PA 2024 (nº 91)
Em um ambiente de microsserviços, o Service Discovery é essencial para a comunicação eficiente entre serviços.
Analise as seguintes práticas de implementação:
I. Utilizar um sistema de Service Discovery centralizado com registros dinâmicos e consultas via DNS ou API.
II. Codificar os endereços IP dos serviços nos arquivos de configuração dos consumidores para reduzir a latência de busca.
III. Utilizar um balanceador de carga junto com Service Discovery para distribuir o tráfego entre instâncias de serviço.
Com o objetivo de garantir uma descoberta de serviços robusta e resiliente, é(são) prática(s) correta(s):
- AI, apenas.
- BII, apenas.
- CIII, apenas.
- DI e III, apenas. (alternativa correta)
- EII e III, apenas.
Resposta comentada
Gabarito Alternativa D
Service Discovery é o mecanismo que permite que os serviços em uma arquitetura de microsserviços se encontrem e se comuniquem uns com os outros, sem a necessidade de ter seus endereços de rede (IPs e portas) codificados diretamente.
- (A) Incorreta: A prática I é correta, mas não é a única.
- (B) Incorreta: Codificar endereços IP (hardcoding) é uma anti-prática em microsserviços, pois as instâncias são dinâmicas e seus endereços mudam frequentemente, tornando o sistema frágil e não escalável.
- (C) Incorreta: A prática III é correta, mas não é a única.
- (D) Correta:
- I. Utilizar um sistema de Service Discovery centralizado com registros dinâmicos e consultas via DNS ou API. Esta é a base do Service Discovery. Um registro central (como Eureka, Consul ou etcd) permite que os serviços se registrem dinamicamente ao iniciar e se desregistrem ao parar, garantindo que os consumidores sempre encontrem instâncias ativas e atualizadas. As consultas podem ser feitas por meio de nomes lógicos via DNS ou diretamente por API.
- III. Utilizar um balanceador de carga junto com Service Discovery para distribuir o tráfego entre instâncias de serviço. O Service Discovery informa ao balanceador de carga quais instâncias de um serviço estão disponíveis. O balanceador, então, distribui as requisições entre essas instâncias, garantindo alta disponibilidade, escalabilidade e resiliência (se uma instância falhar, o balanceador para de enviar tráfego para ela).
- (E) Incorreta: A prática II é incorreta.
Fonte: FGV TCE-PA 2024 Auditor de Controle Externo - Informática - Analista de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.