Предварительное техническое задание для платформы HeroPlay Платформа состоит из следующих компонентов и внешних сервисов: 1. Сайт a. Frontend сайта i. Информация о сервисе ii. Личный кабинет iii. Оплата услуг b. Backend сайта c. БД сайта (Site BD) 2. Платформа для проведения электронных платежей ЮKassa 3. Облачный сервис удаленного доступа 4. Программа-клиент сервиса - "лаунчер" 5. Вычислительные кластеры a. Платформа виртуализации proxmox b. Виртуальные машины (VM) для подключения сессий клиентов c. Session Controller (SC), программа управления сессией пользователя на VM d. Хранилище шаблонов и снимков VM (snapshot storage) e. Виртуальные машины (Control VM, CVM) для управления вычислительным кластером Описание работы. Общая схема взаимодействия (Сх.1) отображена в приложении 1. 1. Регистрация нового пользователя. Клиент регистрируется в личном кабинете на сайте (Сх1. Пр.1 - здесь и далее: Схема1, Процесс1). Для регистрации требуется действующий ящик электронной почты и пароль. На почтовый ящик будет выслано письмо со ссылкой для подтверждения регистрации. При регистрации создается учетная запись в Site BD. 2. Вход пользователя в личный кабинет. В личном кабинете пользователю доступны следующие функции: просмотр информации о текущем балансе, функция пополнения баланса, возможность активации промо-кода, информация о персональных предложениях, акциях и скидках, изменение настроек профиля (смена пароля и т.д.), загрузка игрового клиента. 3. Загрузка игрового клиента (лаунчера). Лаунчер требуется для регистрации учетной записи пользователя в облачном сервисе (сх.1.пр.19) и подключения к игровым серверам. 4. Запуск лаунчера. Пользователь запускает лаунчер и авторизуется/регистрируется. Лаунчер проверяет валидность пары логин/пароль в Site BD, загружает информацию о балансе (сх.1.пр.9-11). В случае недостатка средств на счете информирует пользователя и предлагает ссылку для перехода в личный кабинет. В случае успешной авторизации и наличии необходимых средств на счете запускается процесс подключения к игровому серверу. 5. Подключение к игровому серверу. Лаунчер обращается к Site Backend (сх.1.пр.12-13) за списком доступных для подключения датацентров (DC list). На основании данного списка, при помощи утилиты ping, выбирается ближайший к пользователю DC (сх.1.пр.14) с возможностью запуска новой сессии. После выбора DC лаунчер запрашивает у Site Backend ip адрес CVM, а также данные о сохраненных сессиях (сх.1.пр.12-13). Лаунчер передает CVM данные пользователя и информацию о типе запуска - новая сессия или восстановление предыдущей. CVM развертывает на кластере новую VM, либо восстанавливает VM из сохраненного снимка. Данные операции выполняются при помощи proxmox api (сх1.пр.16-18). При запуске VM клиент устанавливает соединение с облачным сервис |