🚀 9.3 O GPS do Sistema: Service Discovery com Eureka

Em um ambiente dinâmico (Cloud/Docker), os serviços sobem e descem em endereços IP imprevisíveis. Na Engenharia de Elite, não usamos endereços fixos; usamos o Discovery Service com Netflix Eureka.

Como Funciona o GPS?

Cada microsserviço (Cliente Eureka) “anuncia” sua presença ao servidor assim que finaliza o boot. O servidor mantém um mapa vivo de quem está online e em qual endereço.

graph TD
    S1[Serviço de Pedidos] -->|Registra| E[Eureka Server]
    S2[Serviço de Cozinha] -->|Registra| E
    GW[Gateway] -->|Consulta| E
    GW -->|Roteia| S1

1. Configurando o Servidor Eureka

Use a dependência spring-cloud-starter-netflix-eureka-server e ative-o:

@EnableEurekaServer
@SpringBootApplication
public class DiscoveryServerApplication { ... }

2. Registrando a Green Dog

Adicione o starter spring-cloud-starter-netflix-eureka-client e configure no application.yml:

eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8761/eureka/

Benefícios do Discovery de Elite

  1. Zero Downtime: Se uma instância cai, o Eureka a remove do mapa e as requisições param de ser enviadas para ela.
  2. Escalabilidade Horizontal: Você pode subir 10 instâncias do mesmo serviço; o Eureka gerenciará o balanceamento de carga (Load Balancing) automaticamente.

TIP

Dashboard de Auditoria: O Eureka fornece uma interface visual em http://localhost:8761, onde você pode ver em tempo real a “saúde” da sua constelação de microsserviços.

Com nossos serviços se encontrando, precisamos de um ponto de entrada único para o usuário: o API Gateway.


⬅️ Capítulo Anterior | Próximo Capítulo ➡️