HAProxy (High Availability Proxy) — это системное ПО для распределения входящего трафика между несколькими серверами. Оно работает на 4 (TCP) и 7 (HTTP) уровнях модели OSI, обеспечивая высокую доступность и отказоустойчивость веб-приложений.
Принцип работы
Конфигурация строится на разделении логики на frontend, где описываются параметры приема соединений, и backend — группу серверов для обработки запросов. HAProxy поддерживает различные алгоритмы балансировки:
- Round Robin — циклическое распределение запросов;
- Leastconn — передача трафика серверу с наименьшим количеством активных сессий;
- Source — привязка клиента к конкретному серверу по IP-адресу.
Инструмент применяется для горизонтального масштабирования инфраструктуры, терминирования SSL/TLS и защиты от DDoS-атак через ограничение частоты запросов (rate limiting). Встроенные проверки состояния (health checks) позволяют автоматически исключать вышедшие из строя узлы из ротации.
Благодаря событийно-ориентированной однопоточной архитектуре HAProxy способен обрабатывать десятки тысяч соединений в секунду на одном ядре процессора, сохраняя минимальное время задержки и низкое потребление оперативной памяти.