HAProxy — инструмент обеспечения высокой доступности и балансировки нагрузки. В системе ELMA365 HAProxy используется для построения отказоустойчивой архитектуры при организации высокодоступного кластера ELMA365. В зависимости от выстраиваемой архитектуры выбирается необходимая конфигурация HAProxy. В рамках данной статьи конфиг HAProxy разделён на базовую конфигурацию (конфиг сервиса HAProxy) и конфигурации для балансировки компонентов ELMA365, которые могут быть добавлены в конфиг HAProxy к базовой части.
Установка состоит из трёх этапов:
- Установка HAProxy.
 - Настройка базовой конфигурации HAProxy.
 - Добавление конфигураций для балансировки компонентов ELMA365.
 
Шаг 1. Установка HAProxy
- Установите HAProxy, используя следующую команду:
 
sudo apt install haproxy -y
- Запустите сервис HAProxy и добавьте его в автозагрузку:
 
sudo systemctl enable --now haproxy
Шаг 2. Настройка базовой конфигурации HAProxy
- Переместите конфигурационный файл по умолчанию:
 
sudo mv /etc/haproxy/haproxy.cfg{,.original}
- Создайте и откройте для редактирования новый конфигурационный файл с помощью команды:
 
sudo nano /etc/haproxy/haproxy.cfg
Базовая часть кофигурационного файла описывает параметры работы сервера HAProxy: режим работы, таймауты, количество подключений, включение web‑интерфейса и т.д. В примере приведена необходимая конфигурация параметров для работы сервера HAProxy. Подробнее об используемых параметрах читайте в официальной документации HAProxy Documentation.
Пример базовой конфигурационный HAProxy для файла haproxy.cfg
global  | 
- Перезапустите HAProxy:
 
sudo systemctl restart haproxy
Шаг 3. Добавление конфигураций для балансировки компонентов ELMA365
Конфигурации компонентов ELMA365 добавляются в файл haproxy.cfg по необходимости. 
В зависимости от выстраиваемой архитектуры вы можете добавить следующие конфигурации:
- HAProxy для web ELMA365;
 - HAProxy для PostgreSQL;
 - HAProxy для RabbitMQ;
 - HAProxy для S3 Minio;
 - HAProxy для сервера документов.