Архитектура HAProxy предполагает, что программа выполняет функции программного балансировщика и распределяет клиентские HTTP-, HTTPS-, TCP-запросы или UDP-пакеты между несколькими серверами. 1 Это позволяет предотвратить перегрузку одного сервера и повысить устойчивость всей системы. 1
Балансировка трафика ведётся на уровнях Host Layers сетевой модели OSI — Open Systems Interconnection: L4 (четвёртый, или транспортный) и L7 (седьмой, или прикладной). 1 Алгоритм распределения запросов можно настроить под архитектуру системы. 1
Некоторые основные методы балансировки нагрузки в HAProxy:
Также HAProxy выполняет проверку состояния серверов (Health Check). 13 Она определяет, отвечает ли сервер и корректно ли он работает. 1 Если узел недоступен, его можно исключить из распределения нагрузки. 1
Кроме того, HAProxy собирает подробную статистику и отображает текущее состояние системы в веб-интерфейсе. 1