Модуль 8. Production-ready Spring Boot: Actuator, метрики, наблюдаемость
Цель модуля
Научиться готовить Spring Boot-сервис к продакшену: мониторинг, health-check, метрики и базовая эксплуатация.
Что разберём
- Зачем нужен Actuator.
- Какие endpoint'ы обязательны для продакшена.
- Как строить минимальную observability-стратегию.
Шаг 1. Подключаем Actuator
implementation 'org.springframework.boot:spring-boot-starter-actuator'
Шаг 2. Базовые endpoint'ы
/actuator/health- живо ли приложение./actuator/info- полезная служебная информация./actuator/metrics- метрики приложения./actuator/prometheus- отдача метрик для Prometheus.
Шаг 3. Конфигурация
management.endpoints.web.exposure.include=health,info,metrics,prometheus
management.endpoint.health.show-details=when_authorized
Шаг 4. Минимальный production-пайплайн
- Сервис публикует
/actuator/health. - Оркестратор (или LB) использует health-check.
- Prometheus забирает
/actuator/prometheus. - Grafana визуализирует latency, errors, throughput.
Шаг 5. Что мониторить в первую очередь
- Время ответа (p95/p99).
- Частоту ошибок (4xx/5xx).
- Нагрузку на базу.
- Потребление памяти и garbage collection.
Частые ошибки
- Открывать все endpoint'ы actuator в интернет.
- Не настраивать алерты на критичные метрики.
- Не связывать логи, метрики и трассировки в единый процесс диагностики.
Мини-ДЗ
- Подключи Actuator в проект.
- Ограничь список endpoint'ов.
- Подними локально Prometheus + Grafana и выведи 2-3 графика.
Финальный чек-лист курса
- Понимаю архитектуру Spring Framework.
- Умею использовать DI и авто-конфигурацию осознанно.
- Умею строить REST API с валидацией и обработкой ошибок.
- Умею работать с JPA и контролировать производительность.
- Умею сделать сервис наблюдаемым и готовым к продакшену.