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

Архитектура

Система 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