HAProxy — серверное программное обеспечение для обеспечения высокой доступности и балансировки нагрузки для TCP- и HTTP-приложений посредством распределения входящих запросов на несколько обслуживающих серверов. Программа написана на C.
HAProxy используется в ряде высоконагруженных веб-сайтов, включая Twitter, Instagram Github, Stack Overflow, Reddit, Tumblr, DeviantArt, Avito и OpsWorks product из Amazon Web Services, W3C (W3C Validator), а также является частью облачной платформы Red Hat OpenShift и балансировщиком по умолчанию в облачной платформе OpenStack.
HAProxy является программой с открытым исходным кодом и распространяется в соответствии с GNU General Public License (GNU GPL v2).
Возможности Периодическая проверка доступности обслуживающих (back-end) серверов, на которые перенаправляются запросы пользователей; Несколько алгоритмов определения доступности сервера: tcp-check, http-check, mysql-check; Балансировка HTTP / HTTPS / TCP-запросов между «живыми» серверами; Поддержка TLS SNI для различения HTTPS-обращений к разным сайтам; Возможность закрепления определённых клиентов за конкретными обслуживающими серверами (stick-tables); Поддержка: IPv6 и UNIX sockets, HTTP/1.1 сжатие (deflate, gzip, libslz), SSL-шифрование, полная поддержка постоянного HTTP-соединения; Поддержка переменных, цитирования блоков и Lua-скриптов в конфигурации сервера; Веб-интерфейс с актуальным состоянием и статистикой работы программы; Поддержка HTTP/2.
Производительность 2007 год: Типичные 1U серверы оснащённые двухъядерным процессором Opteron или Xeon обычно достигали производительности от до запросов/сек и не имели проблем с обслуживанием потока до 2 Гбит/с под ОС Linux.
2014 год: 1U серверы оснащённые Xeon E5 (2014 года) и 10 Гбит/с сетевой картой без проблем обрабатывают поток 40—60 Гбит/с, при этом подчёркивается, что ограничивающим фактором является пропускная способность сетевой карты.
Даже на процессоре Intel Atom 1,6 ГГц (с пассивным воздушным охлаждением) HAProxy удалось обрабатывать поток до 1 ГБит/с.
Расход памяти: 1 Гб ОЗУ хватает для обслуживания ~20 000—30 000 одновременных сессий.
История Willy Tarreau (один из основных разработчиков ядра Linux,) написал HAProxy в 2000 году и до сих пор занимается её разработкой.
В 2015 году, подводя итоги релиза HAProxy 1.6, Вилли отметил, что из более чем 1150 коммитов принятых в ветку 1.6, более 1/3 были сделаны сообществом.
См. также Nginx
Примечания
Ссылки
исходный код на GitHub They use it — список популярных веб-сервисов, использующих в своей работе HAProxy Windows feedback agent for HAProxy
Категория:Свободные веб-серверы Категория:Программное обеспечение с лицензией GNU GPL Категория:Производительность компьютерных сетей Категория:Свободное программное обеспечение, написанное на Си