Архитектура системы

Основные модули
API (программный интерфейс приложения) модуль (Nest.js) - отвечает за авторизацию, управление проектами, публикацию дашбордов (отчётов) и другие пользовательские действия.
Golang модуль - работает с коннекторами к источникам данных и обеспечивает связь с ClickHouse.
Хранилища данных
ClickHouse - основное хранилище аналитических данных. Здесь хранятся большие массивы информации, которые нужны для построения дашбордов и аналитики. Обеспечивает быструю обработку запросов даже при работе с миллионами строк.
PostgreSQL - база данных для служебной информации: учетные записи, права доступа, настройки проектов. Все, что относится к управлению системой и пользователями.
Redis - используется для кэширования. Он ускоряет работу интерфейса и API, чтобы запросы выполнялись быстрее и система не нагружала базу лишними данными.
Служебные компоненты
Nginx - прокси-сервер, который направляет запросы пользователей к нужному сервису и отвечает за балансировку нагрузки.
Cron - запускает автоматические задачи по расписанию (например, обновление данных).
Loader - отвечает за импорт данных из файлов и других источников.
Mailer - рассылает уведомления на почту.
Notifications и Chat - обеспечивают работу уведомлений и переписок.
Templates - хранит и управляет готовыми шаблонами визуализаций.
Watch - следит за изменениями в папках с коннекторами и автоматически запускает импорт при необходимости.
Blocker - контролирует процесс импорта, чтобы исключить одновременные конфликты.
Active Directory - через нее происходит подключение пользователей для удобства корпоративного использования.
Взаимодействие между сервисами
RabbitMQ - передает сообщения между разными модулями и распределяет задачи, чтобы все процессы выполнялись в нужном порядке и не мешали друг другу.