Меню

Главная
Случайная статья
Настройки
HAProxy
Материал из https://ru.wikipedia.org

HAProxy — серверное программное обеспечение для обеспечения высокой доступности и балансировки нагрузки для TCP- и HTTP-приложений посредством распределения входящих запросов на несколько обслуживающих серверов.[2] Программа написана на C[3].

HAProxy используется в ряде высоконагруженных веб-сайтов, включая Twitter[4], Instagram[4] Github[5], Stack Overflow,[6] Reddit, Tumblr, DeviantArt, Avito и OpsWorks product из Amazon Web Services[7], W3C (W3C Validator)[4], а также является частью облачной платформы Red Hat OpenShift[8] и балансировщиком по умолчанию в облачной платформе 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[9].


Производительность

2007 год: Типичные 1U серверы оснащённые двухъядерным процессором Opteron или Xeon обычно достигали производительности от 15 000 до 40 000 запросов/сек и не имели проблем с обслуживанием потока до 2 Гбит/с под ОС Linux.[10]

2014 год: 1U серверы оснащённые Xeon E5 (2014 года) и 10 Гбит/с сетевой картой без проблем обрабатывают поток 40—60 Гбит/с, при этом подчёркивается, что ограничивающим фактором является пропускная способность сетевой карты.[11]

Даже на процессоре Intel Atom 1,6 ГГц (с пассивным воздушным охлаждением) HAProxy удалось обрабатывать поток до 1 ГБит/с.[11]

Расход памяти: 1 Гб ОЗУ хватает для обслуживания ~20 000—30 000 одновременных сессий.

История

Willy Tarreau[12] (один из основных разработчиков ядра Linux[13]) написал HAProxy в 2000 году и до сих пор занимается её разработкой.

В 2015 году, подводя итоги релиза HAProxy 1.6, Вилли отметил, что из более чем 1150 коммитов принятых в ветку 1.6, более 1/3 были сделаны сообществом.

См. также

Примечания
  1. Release v3.3-dev3 — 2025.
  2. MySQL Load Balancing with HAProxy. Severalnines AB (2011). Дата обращения: 19 февраля 2013. Архивировано 8 февраля 2015 года.
  3. HAProxy on Freecode. Дата обращения: 5 апреля 2013. Архивировано 3 ноября 2017 года.
  4. 1 2 3 HAProxy: they use it! Дата обращения: 22 июня 2014. Архивировано 17 февраля 2014 года.
  5. список сайтов использующих HAProxy. Дата обращения: 22 июня 2014. Архивировано из оригинала 10 июня 2013 года.
  6. What it takes to run Stack Overflow. Дата обращения: 22 ноября 2013. Архивировано 11 ноября 2020 года.
  7. HAProxy layer - AWS Opsworks. Дата обращения: 5 апреля 2013. Архивировано 5 сентября 2015 года.
  8. OpenShift: How Scaling Works. Дата обращения: 22 сентября 2014. Архивировано 13 сентября 2014 года.
  9. May, 15th, 2015 : HTTP/2 is out! Дата обращения: 6 января 2016. Архивировано 13 января 2016 года.
  10. haproxy.org/#plat
  11. 1 2 haproxy.org/#perf
  12. Willy Tarreau: About me. Дата обращения: 5 апреля 2013. Архивировано 2 апреля 2013 года.
  13. ,LKML: Willy Tarreau: [ANNOUNCE] Linux 2.4.37.11. Дата обращения: 5 апреля 2013. Архивировано 15 июня 2012 года.


Ссылки
Downgrade Counter