Компоненты и способ взаимодействия
Компонент |
Используемая версия |
Назначение, способ взаимодействия |
---|---|---|
airflow |
airflow-dlh-mod:2.3.3 |
Используется для создания, выполнения, отслеживания и управления операциями по обработке данных. |
airflow-postgres |
postgres:16.1 |
Разворачиваемая совместно с базой airflow, в которой хранятся метаданные airflow. |
apicurio |
apicurio/ apicurio-registry-sql: 2.6.2.Final |
Обеспечивает централизованное управление схемами данных, валидацию и совместимость при сериализации/десериализации сообщений. |
dc postgres |
postgres:16.1 |
Используется для хранения метаданных источников, информации о процессах, информации об импорте, статусах и истории изменений. Используется практически всеми компонентами для получения / записи / изменении данных. |
debezium server |
debezium-server: 2.3.2.Final |
Используется в образе dlh-debezium-server, на основании которого по запросу пользователя создаются Job в определенном namespace Kubernetes, выгруженные данные источника debezium экспортирует в топик Pulsar. |
kafka |
confluentinc/ cp-kafka:7.5.3 |
Распределенное хранилище данных, оптимизированное для приема и обработки потоковых данных в режиме реального времени. Позволяет обмениваться сообщениями, обрабатывать потоки, а также хранить и анализировать как данные за прошедшие периоды, так и те, что поступают в реальном времени. |
kafka-ui |
provectuslabs/ kafka-ui:0.7.2 |
Веб-интерфейс для мониторинга и управления кластером Kafka. Позволяет просматривать топики, сообщения, потребителей (consumers) и метрики в реальном времени. |
pulsar |
apachepulsar/ pulsar:3.1.1 |
Используется для передачи информации / запуска задач между собой. |
pulsar-manager |
apachepulsar/ pulsar-manager:v0.2.0 |
Используется для администрирования pulsar. |
redis |
redis:7 |
Используется для отправки уведомлений на frontend по статусам задач (старт импорта, завершение, добавление источника, информация о статусах процессов). |
sftp |
atmoz/sftp:alpine |
Хранение csv, xlsx файлов от пользователей для последующей их обработки, хранение дагов процессов. |
superset |
apache/ superset:4.0.1 |
Используется для визуализации данных создаваемых процессов внутри DLH. Взаимодействие происходит через предоставляемое ПО api. Объем передаваемой информацией ограничен количеством данных, содержащихся в визуализируемой таблице. |
superset-db |
postgres:16.1 |
Разворачиваемая совместно с superset база, в которой хранятся метаданные superset. |
vault |
hashicorp/ vault:1.13.0 |
Используется для хранения секретной информации об источниках ( db_host, dp_port, db_login, db_password, db_name (/mysql: db_schema), добавляется единожды, запрашивается при действиях: добавление источника, обновление модели, запуск импорта (всё по запросам пользователя) |