Архитектура и системные требования / Архитектура

Архитектура

Система ELMA365 является микросервисным решением, построенным на базе следующих технологий: Golang, NodeJS, Angular. Используемые СУБД: PostgreSQL, MongoDB. В качестве шины обмена событий и данных используется RabbitMQ. Для кеширования данных быстрого доступа используется Redis. Используется контейнеризация на базе Docker, а также оркестратор Kubernetes. Для хранения файлов используется объектное хранилище данных на базе S3 протокола.

Кластер ELMA365 может быть развёрнут на серверных мощностях заказчика и быть доступен как в Internet, так и в Intranet.

Внешняя безопасность обеспечивается механизмом аутентификации пользователя системы токеном JWT и гибкой настройкой системы привилегий внутри системы. Внутренняя безопасность обеспечивается стандартными средствами безопасности используемых баз данных. Пароли и токены доступа хранятся в защищённом хранилище секретов Kubernetes.

Серверы PostgreSQL, MongoDB, RabbitMQ, Redis и S3 MinIO включены в поставку инсталлятора ELMA365 On-Premises и могут быть установлены на одном физическом сервере заказчика для тестирования продукта или использования в редакции Standard.

В продуктовой среде исполнения редакции Enterprise предполагается несколько вариантов установки этих серверов:

  • они могут быть включены в инсталлятор ELMA365 On-Premises Enterprise и могут быть установлены на одном физическом сервере заказчика для тестирования или использования продукта;
  • заказчик может самостоятельно развернуть эти сервисы для организации отказоустойчивой локальной архитектуры. Все работы по настройке отказоустойчивости этих сервисов остаются на стороне заказчика.

illustration_2