Система мониторинга, которая отслеживает работу различных компонентов приложения с помощью Spring Kafka.
Система включает в себя Producer для отправки метрик, Consumer для их обработки и анализа, а также REST API для просмотра метрик.
документация доступна по ссылке: http://localhost:8081/swagger-ui/index.html
OAS доступна по адресу: http://localhost:8081/v3/api-docs
-
документация доступна по ссылке: http://localhost:8082/swagger-ui/index.html
OAS доступна по адресу: http://localhost:8082/v3/api-docs
Kafdrop (веб-интерфейс для управления Kafka) можно открыть по адресу: http://localhost:9090
"Metrics Producer" отслеживает и собирает метрики работы приложения и отправляет их в Kafka топик "metrics-topic".
"Metrics Consumer" принимает метрики из Kafka топика "metrics-topic" и анализирует их для выявления проблем и трендов.
Приложение умеет делать следующее:
- Получение, создание, изменение, удаление элемента;
- Каждые 10 секунд запускается автоматический сбор метрик, указанных в пропертиз, которые отправляются в топик Kafka;
- Консюмер автоматически считывает метрики из топика Kafka и записывает в бд;
- Получение метрик по ид и всех.
Микросервисное приложение написано на Java, использует Spring Boot, Maven, Hibernate, Liquibase, Swagger, Kafka, Actuator, Openfeign, Docker, API соответствует REST, данные хранятся в БД PostgreSQL.
Для запуска приложения перейдите в папку с приложением и запустите
mvn clean package
docker-compose up
В папке postman находится коллекция тестов для сервиса:
- Для всех API item написаны автоматизированные скрипты + тесты;
- Для получения метрик всех и по ид написаны запросы.