Компоненты и способ взаимодействия

Компонент

Используемая версия

Назначение, способ взаимодействия

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), добавляется единожды,

запрашивается при действиях: добавление

источника, обновление модели, запуск

импорта (всё по запросам пользователя)