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 для сервера документов.