🚀 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
- Zero Downtime: Se uma instância cai, o Eureka a remove do mapa e as requisições param de ser enviadas para ela.
- 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.