advanced

Service discovery

Resolve dynamic service locations через platform DNS, registries, load balancers или meshes без hard-coded endpoints.

Clients должны находить instances без hard-coded IPs. Паттерны: DNS (Kubernetes services), registries (Consul, Eureka), load balancers, service mesh sidecars, резолвящие имена в healthy endpoints.

Компромисс: dynamic discovery даёт scaling и rolling deploys, но добавляет cache staleness и риск misconfiguration.

На интервью: как новый pod получает traffic в Kubernetes; client-side vs server-side discovery.

Типовые ошибки: stale registry entries; discovery без health awareness; сложный debugging при чрезмерной абстракции имён.

Чеклист:

  • Platform-native discovery где возможно.
  • Routing привязан к health/readiness.
  • Документируйте service naming conventions.
  • Тестируйте rolling deploys.