3.2
Архитектура решенияНа сервере приложения расположены следующие компоненты (в отдельных докерах):
- Основной модуль – осуществляет формирование запросов и обработке ответов из внешних систем;
- Gateway – получение запроса от клиента (HTTPS) и дальнейшая маршрутизация запроса (HTTP) в подсистемы приложения
3.3 Требования к защите информации от несанкционированного доступа
Реализация обмена производится с использованием шифрованного пароля, согласно спецификации SOAP.
3.4 Технологии Системы
Стандарты и технологии, применяемые для функционирования системы:
- Spring Boot;
- Spring Cloud;
- Postgresql (СУБД)
- Hibernate (взаимодействие с СУБД);
- Docker (развертывание системы в изолированных контейнерах);
3.5 Взаимодействие с внешними системами
Взаимодействие Системы с внешними системами осуществляется при помощи Rest- и Web-сервисов и использовании стандартов SOAP/WSDL и форматов XML/JSON.
Обмен информацией с внешними системами основан на применении в Системе стандартных средств и способов взаимодействия, таких как:
- Сетевой протокол TCP/IP;
- Протоколы Интернет – HTTP(S), FTP;
- Стандарты и технологии Web-служб – REST, JSON, XML, WSDL.
Для реализации различного рода протоколов взаимодействия используются открытые стандарты, созданные на основе языка XML, как языка описания информации. Его открытость даёт гарантию независимости систем от различных поставщиков программных решений и обеспечивает их механизмом развития информационных ресурсов в будущем. Для каждого взаимодействия был разработан собственный формат данных, для некоторых схожих по назначению взаимодействий схема xml-документов.
4. Развертывание системы4.1 Технические требования к серверу
4.1.1 Требования к платформам функционирования сервера приложения
Минимальные требования к аппаратному обеспечению, необходимому для развертывания и функционирования системы:
- 2-ух ядерный процессор или больше;
- RAM не менее 16 ГБ;
- HDD не менее 40 ГБ;
- ОС Linux;
- Необходимое ПО: Nginx;
- Канал связи с БД не менее 1 ГБит/сек.
4.1.2 Требования к подсистеме хранения данных бэк-офиса
Минимальные требования:
- 8-миядерный процессор или больше;
- RAM не менее 32 ГБ;
- HDD не менее 1 ТБ;
- ОС Linux;
- Необходимое ПО: PostgreSQL версии, не ниже 12.3.
4.1.3 Требования к подсистеме взаимодействия со смежными системами
Минимальные требования:
- 4-х ядерный процессор или больше;
- RAM не менее 4 ГБ;
- HDD не менее 8 ГБ;
- ОС Linux;
- Необходимое ПО: OpenJDK 11.
4.2 Установка Fynative
4.2.1 Подготовка сервера приложений
- Распаковать полученный архив apps.tar командой:
[root@srv ~]# tar -tvf apps.tar && rm -r app.tar
- Перейти в директорию с распакованным архивом
- В файле ./composes/main.dc.yml в строках 16-19 заменить IP адреса на адреса виртуальных машин с соответсвующими сервисами:
- "pg:POSTGRES_IP"
- "kafka:KAFKA_IP"
- "prometheus:PROMETHEUS_IP"
- "logs:LOGS_VM_IP"
- Разрешить в firewall порты 8080
- Перед запуском необходимо, чтобы были запущены все инфраструктурные сервисы (Postgresql, kafka, logs)
- Запустить Docker-compose командой
[root@srv ~]# docker-compose up-f main-app.dc.yml -d
4
.2.2 Подготовка сервера kafka.
- Распаковать полученный архив kafka.tar командой:
[root@srv ~]# tar -tvf kafka.tar && rm -r kafka.tar
- Перейти в директорию с распакованным архивом
- Запустить сервис командой:
[root@srv ~]# docker-compose up -f kafka.dc.yml -d
4
.2.3 Подготовка сервера сбора логов- Распаковать полученный архив logs.tar командой:
[root@srv ~]# tar -tvf logs.tar && rm -r logs.tar
- Перейти в директорию с распакованным архивом
- Создать папку
[root@srv ~]# mkdir /opt/apps_logs/
- Выставить на нее права для uid=999
[root@srv ~]# chown 999:wheel
- Запустить сервис:
[root@srv ~]# docker-compose up -f logs.dc.yml -d
4
.2.4 Подготовка сервера мониторинга.- Распаковать полученный архив mon.tar командой:
[root@srv ~]# tar -tvf mon.tar && rm -r mon.tar
- Перейти в директорию с распакованным архивом
- Отредактировать файл, в строках 7-15 поменять IP на нужные, аналогично пункту 1.
- Создать папку:
[root@srv ~]# mkdir /opt/prometheus_db/
- Выставить права для пользователя
[root@srv ~]# chown 65534:wheel /opt/prometheus_db/
- Запустить сервис:
[root@srv ~]# docker-compose up -f monitoring.dc.yml -d
4.2.5 Подготовка сервера Postgres
- В созданной базе данных выполнить вход в утилиту psql командой
[root@srv ~]# psql postgres postgres
- Выполнить следующие команды:
[psql]# create user apps createdb login password 'postgres@NhbQpJ';
[psql]# create database apps with owner apps;
[psql]# create database apps_audit with owner apps;
Команды создают пользователя и базы данных необходимые для работы приложений.