Устройство чарта
Чарт содержит в себе следующие сервисы:
predicate
Основной сервис бэкенда. Внутри контейнера разворачивается FastAPI сервер. Также сервис содержит два init-container:
init-db
- применяющий миграции Alembic к базе данных;metric-init
- инициализирует стандартные метрики Predicate. Если метрика уже существует, то она не будет создана и в лог выведется соответсвующее сообщение.
predicate-manager
Celery сервис, который отвечает за выполнение системных задач (создание рана проекта, создание необходимых нод, сохранение результатов в базу, загрузка файлов в S3 и т.д.).
predicate-worker
Celery сервис, который отвечает за выполнение расчётных задач (нод) проектов (выгрузка данных, применение преобразования над данными, применение метрик на данных)
predicate-celery-monitor
Вспомогательный сервис, который отвечает за мониторинг Celery задач и сохранения их состояния в базу данных.
predicate-flower
Celery Flower сервис, который отвечает за визуализацию Celery задач.
predicate-postgresql
Сервис, который отвечает за хранение базы данных Predicate.
predicate-rabbitmq
Сервис, который отвечает за хранение очереди задач для Celery.