Перейти к содержанию

Установка платформы в кластере

Важно

В поставке платформы нет скриптов и инструкций по установке платформы в кластере. Работы по запуску ПО в таком режиме необходимо проводить совместно с представителями разработчика, для корректной настройки ПО.

Описание архитектуры кластера

Ниже даны рекомендации по архитектуре решения по размещению платформы в кластере.

Установка кластера осуществляется с помощью следующих средств: 1. Две независимые виртуальные машины. Минимум 2 машины нужны для того, чтобы keepalived мог обеспечить выбор главной (master) и запасной (backup) машины. Лучше рассчитывать нагрузку на 2. Keepalived для обеспечения выбора, какая машина будет доступна по Виртуальному IP (Virtual IP) 3. HAProxy для обеспечения прокси до приложения и балансировки нагрузки 4. Само приложение в виде docker-compose стека. Возможна установка без Docker - принцип отличаться не будет.

Внимание

В текущем варианте БД с репозиторием, БД Redis и сервис R вынесены за пределы кластера и не обеспечиваются отказоустойчивостью.

Для доступа к приложению всему кластеру назначается виртуальный ip, по которому пользователь обращается на одну из нод кластера. HAProxy, которая установлена на этой ноде осуществляет переадресацию на свободный бэкенд по принципу roundrobin. Если бэкенд перестает отвечать - запросы на него не перенаправляются. HAProxy знает адреса всех бэкендов и периодически проверяет их доступность.

Основное приложение ЦП УвП (App Server на схеме) запускается в стеке docker-compose и работает в виде копии на каждой машине. При этом все реплики работают равнозначно и независимо друг от друга. Внутри каждой запущен контейнер с бэкендом (gunicorn) и контейнер с фронтендом (nginx).