Что такое Service Discovery
Автоматическое обнаружение сервисов
Service Discovery — механизм автоматического обнаружения и регистрации сервисов в распределённых системах и микросервисной архитектуре.
Основные концепции
- Service Registry — централизованный реестр сервисов
- Registration — автоматическая регистрация при старте
- Heartbeat — проверка доступности сервисов
- Deregistration — удаление при остановке
- DNS-based — обнаружение через DNS-записи
Паттерны
- Client-side discovery — клиент сам ищет сервис
- Server-side discovery — load balancer находит сервис
- Self-registration — сервис сам регистрируется
- Third-party registration — внешний агент регистрирует
Популярные решения
- Consul — HashiCorp, service mesh
- Eureka — Netflix, для Spring Cloud
- etcd — key-value store с discovery
- Kubernetes — встроенный DNS и Services
- Zookeeper — Apache, распределённая координация
Применение
- Микросервисы — связь между сервисами
- Load balancing — распределение нагрузки
- Health checking — мониторинг состояния
- Configuration — централизованная конфигурация
- Failover — автоматическое переключение при сбоях