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.