Introducción: endpoints dinámicos
Service Discovery permite localizar servicios dinámicamente. Sin SD: hardcodear IPs (svc1.example.com:5000). Si escalas a 100, mantenimiento pesadilla. Con SD: servicios se registran al startup. Cliente pregunta registro: "instancias del servicio X?". Registro retorna lista. Cliente elige (random, round-robin). Si instancia muere, desregistra. Cliente nunca ve muerta. Herramientas: Consul, Eureka, K8s DNS. En K8s, transparente: my-service.default.svc.cluster.local. Crítico en microservicios. Sin SD, escalabilidad dinámica es imposible.

Prompt: dynamic service registry, minimal style.
1. Naturaleza: mapa de hormigas
Las hormigas dejan rastros que permiten encontrar recursos dinámicamente.

Prompt: ants trail map, soft illustration.
2. Mundo Real: microservicios escalados
Un servicio consulta el registro para encontrar instancias disponibles.

Prompt: service registry with instances, flat infographic.
3. Implementación en C#: Código Paso a Paso
var instances = await registry.Find("orders");
var target = loadBalancer.Pick(instances);
Se combina con balanceo y health checks para obtener instancias saludables.
4. Discovery vs Configuración estática
La configuración estática se rompe al escalar.
Service Discovery mantiene flexibilidad y resiliencia.
5. Diagrama UML

Prompt: UML discovery pattern, clean vector.

Prompt: discovery flow diagram, minimal infographic.
⚠️ Cuándo NO Usar Service Discovery
- Si tienes pocos servicios y endpoints estables.
- Si no puedes mantener un registro confiable.
💪 Ejercicio
Diseña un pequeño registro para servicios internos con health checks.
Conclusión
Service Discovery habilita elasticidad y evita configuraciones rígidas.