Карта / Spring Boot / Actuator

Actuator

Actuator — готовые эндпоинты для мониторинга состояния приложения, подключаются одним стартером, без написания кода вручную.

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
GET /actuator/health     # жив ли сервис: {"status":"UP"}
GET /actuator/info        # информация о приложении
GET /actuator/metrics      # метрики: память, потоки, запросы
Копнуть глубже

/health — главный эндпоинт для проверки готовности (health check). В Kubernetes/Docker (см. тему «Pod, Deployment») балансировщик нагрузки или оркестратор регулярно опрашивает этот эндпоинт — если сервис отвечает DOWN, трафик перестают на него направлять, а оркестратор может перезапустить контейнер. Без такой проверки система не узнает, что сервис “завис” или потерял соединение с базой.

/health может проверять зависимости. Если у приложения есть подключение к базе данных, Redis, очереди сообщений — Actuator автоматически включает их в общую проверку: если база недоступна, /health тоже вернёт DOWN, даже если само приложение технически работает.

По умолчанию большинство эндпоинтов отключены в проде из соображений безопасности/metrics и особенно /env (показывает переменные окружения!) могут раскрыть чувствительную информацию. Включают только нужные явно через конфигурацию и часто закрывают доступ через Spring Security.

🎤 Закрыл тему, если можешь объяснить:
• зачем нужен Actuator и что показывает /health;
• зачем оркестратор регулярно опрашивает /health и почему эндпоинты закрывают в проде (если дошёл до 2-го слоя).