При наличии большого количества серверов с установленной программой рекомендуется использовать балансировщик нагрузки HAProxy. В этом случае HAProxy определяет, какому серверу направить запрос на проверку, в соответствии с заданным способом балансировки. Принцип работы программы с балансировщиком нагрузки представлен на рисунке ниже. Эта схема взаимодействия компонентов применима как при установке программы из rpm- или deb-пакета, так и при развертывании программы из ISO-образа.
Принцип работы программы с балансировщиком нагрузки
Нумерация на рисунке соответствует следующим этапам обработки трафика:
Пользователь запрашивает доступ к веб-ресурсу. Этот запрос передается балансировщику нагрузки.
Балансировщик нагрузки выбирает узел кластера согласно заданному способу балансировки и передает этому узлу запрос пользователя.
Встроенный прокси-сервер выбранного узла принимает запрос и передает его ICAP-серверу программы на проверку по правилам обработки трафика.
Если по результатам проверки доступ к веб-ресурсу разрешен, встроенный прокси-сервер отправляет запрос на веб-сервер в интернет.
Веб-сервер, на котором располагается запрашиваемый веб-ресурс, отправляет ответ встроенному прокси-серверу.
Встроенный прокси-сервер передает ответ веб-сервера ICAP-серверу программы для проверки по правилам обработки трафика. Результат проверки возвращается на встроенный прокси-сервер.
Встроенный прокси-сервер передает ответ балансировщику нагрузки.
Балансировщик нагрузки направляет ответ на компьютер пользователя. В зависимости от заданных в программе действий пользователю могут отобразиться следующие страницы:
Если доступ к веб-ресурсу разрешен, отображается запрошенная веб-страница.
Если было применено действие Перенаправить, отображается веб-страница, на которую выполнено перенаправление.
Вы можете использовать один и тот же балансировщик нагрузки для балансировки различных сервисов или установить два балансировщика. В этом случае HTTP-балансировщик будет распределять нагрузку между прокси-серверами, а ICAP-балансировщик – между узлами кластера программы. Схема подключения балансировщиков нагрузки представлена на рисунке ниже. Эта схема применима как при установке программы из rpm- или deb-пакета, так и при развертывании программы из ISO-образа.
Схема взаимодействия при наличии двух балансировщиков нагрузки