Документация Accelera

Технический дизайн платформы

Общая архитектура ПО Accelera

Модульная микросервисная архитектура. ПО может быть установлено как on-premise, так и в облаке.

Система поставляется в Docker-образах, прошедших проверку на уязвимости информационной безопасности. На момент релиза образы не содержат уязвимостей критического и высокого уровней.

Технологический стек

  • Node.js (v.18.18+), Go
  • JavaScript, HTML5, VueJS, React (v.17+), jQuery (v.3.7.0+)
  • Kubernetes, Docker, Nginx

Брокер

Опции внутренней очереди:

  • RabbitMQ (v.3.13+)
  • Kafka (v.3.8+)

Операционная база и кэш

  • Redis (кэш) (v.7+)
  • PostgreSQL (метаданные) (v.13+)

Аналитическая база (одна из ниже перечисленных)

  • PostgreSQL (v.13+)
  • Clickhouse (v.23+)
  • Возможно использование Oracle, MS SQL, Greenplum и других ANSI SQL БД

Витрины для сегментации

Список БД, доступных в качестве источника для Segments

  • PostgreSQL
  • Greenplum
  • Clickhouse
  • Oracle DB
  • MS SQL
  • SQLite3
  • MySQL / MariaDB
  • MySQL2
  • CockroachDB
  • PG Native
  • Любая ANSI БД допустима. Если БД нет в списке, то можно добавить коннект к БД в течение одной-двух недель.

Разработка компонент решения

Разработчики могут создавать собственные прикладные или интеграционные компоненты для решения специфических задач. Программное обеспечение Accelera поддерживает гибкую кастомизацию, включая возможность создания собственного графического интерфейса (GUI) для разработанных компонентов.

Примеры возможных компонентов:

  • Кастомные адаптеры для получения событий в режиме реального времени. При этом стоит учитывать, что в системе уже доступны готовые адаптеры для Kafka, RabbitMQ и других источников, которые можно настроить под свои задачи.
  • Действия с прикладной логикой, как для построчной обработки данных, так и для пакетной обработки.
  • Действия для интеграции с внешними системами и сервисами.
  • Действия для удобного вызова REST API, включая графический интерфейс для их настройки.
  • Микросервисы с уникальной логикой обработки, которые могут расширять функциональность системы.

Выбор языка программирования

Разработка возможна на любом языке программирования при условии, что компонент сможет взаимодействовать с RabbitMQ или Kafka. Например, блоки прикладной логики могут быть написаны на Python или JavaScript и будут нативно интегрированы в систему с поддержкой графического интерфейса.

Требования к разработке

Для создания собственных компонентов разработчику необходимо пройти тренинг по интеграции в экосистеме Accelera. Это обеспечит корректную работу компонентов и их совместимость с платформой.

Платформа поставляется с множеством готовых адаптеров для обработки событий:

Например, RabbitMQ имеет множество клиентских библиотек, что позволит вам создать максимально подходящий вам адаптер данных.

На этой странице