Synthetic Human Core Starter — это ядро для управления андроидами (синтетиками), которое:
- Принимает команды от операторов
- Обрабатывает их с разными приоритетами
- Ведёт аудит всех действий
- Мониторит загрузку системы
- Обрабатывает ошибки
Для быстрого перехода к инструкции по запуску: нажмите сюда
Spring Boot 3
├─ Spring Web (REST)
├─ Spring Kafka
├─ Spring AOP (аспекты)
├─ Micrometer (метрики)
└─ Lombok
- Что делает: Принимает команды в формате:
{ "description": "Проверить двигатели", "priority": "CRITICAL", "author": "Рипли", "time": "2023-01-01T00:00:00Z" } - Пример запроса:
curl -X POST http://localhost:8080/api/commands -H "Content-Type: application/json" -d '{"description":"Check engines","priority":"CRITICAL","author":"Ripley","time":"2023-01-01T00:00:00Z"}'
- Логика работы:
if (priority == CRITICAL) → выполнить немедленно else → добавить в очередь (макс. 10 команд) - Потоки:
- Главный поток: принимает команды
- Фоновый поток: обрабатывает очередь
- Как работает:
Логирует:
@WeylandWatchingYou(mode = AuditMode.KAFKA) public String criticalOperation() { ... }
- Имя метода
- Параметры
- Результат
- Время выполнения
- Отправляет аудит-логи в топики:
android-audit— успешные операцииandroid-audit-errors— ошибки
- Метрики доступны на:
Собирает:
http://localhost:8080/actuator/metrics http://localhost:8080/actuator/prometheus- Размер очереди команд
- Количество выполненных задач
- Оператор отправляет команду через REST API
- Система:
- Валидирует команду
- CRITICAL → выполняет сразу
- COMMON → ставит в очередь
- Аудит:
- Записывает действие в Kafka/консоль
- Мониторинг:
- Обновляет метрики (очередь, performance)
Соберите проект:
./mvnw clean packageЗапустите все сервисы:
docker-compose up -d --buildПроверьте сервисы:
Приложение: http://localhost:8080/api/commands
Prometheus: http://localhost:9090
Grafana: http://localhost:3000 (логин: admin/admin)
