Service discovery
The mechanism for how services find each other in a dynamic environment where IP addresses constantly change. Instead of hardcoded addresses, a service asks "where is the payment service?" and gets back current, healthy instances to talk to.
Problem: in the cloud/Kubernetes, instances start, die, and move all the time — their IP addresses are ephemeral, so you can't hardcode "connect to 10.0.1.5". Service discovery solves it: instances register themselves (or are registered automatically) in a registry when they start and are removed when they die/become unhealthy; clients look up current addresses from there. Implementations: DNS-based (Kubernetes gives each Service a stable DNS name that resolves to healthy pods — the most common), registry-based (Consul, etcd, Eureka where services register explicitly), and service mesh (which builds it in). Often integrated with health checks so only healthy instances are returned. Win: loose coupling and elasticity — services don't need to know where their dependencies happen to run right now. Fundamental in microservice architecture. Related to health-check endpoint and service mesh sidecar.