Consul / Eureka / etcd
| Service | Instances | Health |
|---|
Any microservice system where instances scale dynamically — Kubernetes, ECS, EC2 Auto Scaling. Services must find each other without hardcoded IPs that change on every deploy or scaling event.
The registry itself must be highly available (Consul cluster, etcd raft). Stale entries if health checks are slow — use short TTLs. Adds operational complexity: now you must manage the discovery infrastructure.
"Kubernetes uses etcd as its service registry and kube-proxy for server-side discovery via ClusterIP Services. Consul is the go-to for non-K8s environments. Always ask: how does the client handle a stale entry that points to a dead instance?"