Creatio administration

Горизонтальное масштабирование с использованием HAProxy

В bpm’online существует возможность повысить производительность крупных проектов (до нескольких тысяч пользователей) за счет горизонтального масштабирования — увеличения количества серверов, на которых развернуто приложение и распределения нагрузки между ними.

Балансировщик может быть аппаратным или программным. Для работы в отказоустойчивом режиме используется балансировщик HTTP/HTTPS-трафика с поддержкой т.н. “липких сессий” (sticky session) и протокола WebSocket. Работа приложения тестировалась на программных балансировщиках нагрузки HAproxy и MS ARR (Microsoft Advanced Request Routing). Известны случаи успешного использования других балансировщиков Citrix, Cisco, NginX, FortiGate.

Данный документ рассматривает вариант горизонтального масштабирования bpm’online с иcпользованием бесплатного open-source балансировщика нагрузки HAProxy для балансировки нагрузки на серверы сессий.

Общий порядок развертывания

Общий порядок развертывания приложения bpm’online с горизонтальным масштабированием следующий:

1.Развернуть необходимое количество экземпляров приложения bpm’online в web-ферме.

Параметры и необходимое количество серверов сессий для различных кейсов масштабирования указаны в системных требованиях к серверам bpm’online. Подробнее >>>

Порядок развертывания приложения on-site доступен в документации bpm’online. Подробнее >>>

2.В конфигурационном файле (Web.config) каждого приложения, в блоке <appSettings> добавить ключ:

<add key="TenantId" value="1" />

Номер “value” должен быть одинаковый у всех экземпляров приложения в web-ферме.

3.Настроить балансировщик для распределения нагрузки между развернутыми серверами приложения.

4.При необходимости настроить балансировку нагрузки для серверов баз данных и сессий.

На заметку

Информация о настройке кластеризации MSSQL и Oracle доступна в документации к этим продуктам. Настройка отказоустойчивости системы при помощи Redis Sentinel рассмотрена в статье “Работа bpm’online с Redis Sentinel”.

Был ли данный материал полезен?

Как можно улучшить эту статью?