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

Архитектура

Система 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 предполагается, что эти сервисы будут развёрнуты заказчиком самостоятельно для организации отказоустойчивой локальной архитектуры. Все работы по настройке отказоустойчивости этих сервисов также остаются на стороне заказчика.

illustration_2