The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск HTTP/TCP балансировщика HAProxy 1.6

15.10.2015 21:52

После шестнадцати месяцев разработки увидел свет HTTP/TCP-балансировщик нагрузки HAProxy 1.6.

Ключевые особенности выпуска:

  • Поддержка написания скриптов-расширений на языке Lua, которые выполняются в неблокирующем режиме и могут применяться для реализации дополнительных функций в элементах Service, Action, Sample-fetch и Converter. Загрузка скрипта осуществляется в файле конфигурации при помощи директивы "lua-load скрипт.lua";
  • Возможность экранирования строк кавычками в файле конфигурации;
  • Поддержка сохранения данных для использования на разных изолированных стадиях, что, например, позволяет получить доступ к заголовку запроса на стадии обработки ответа.
  • Возможность установки в логе меток для дальнейшей классификации по процессам, фронтэндам и бэкендам;
  • Новые переменные форматирования лога, в том числе определяющие HTTP-метод (GET/POST), cтроку запроса (?bar=baz) и URI (/foo?bar=baz);
  • Поддержка разрешения определённых в конфигурации имён серверов на лету в асинхронном режиме, что полезно при балансировки запросов к серверам с непостоянным IP, например, запускаемым при помощи Docker или Amazon Web Service;
  • Возможность определения переменных в конфигурации;
  • Поддержка отправки уведомлений по электронной почте в случае нештатных ситуаций, например, при изменении состояния сервера;
  • Средства обработки тела HTTP-запроса (раньше можно было разбирать только заголовки). Например, после включения "option http-buffer-request" для блокирования конструкций SELECT в теле запроса можно использовать 'http-request deny if { req.body -m reg "SELECT \\\\\\\\*" }';
  • Многочисленные улучшения поддержки TLS.


  1. Главная ссылка к новости (http://blog.haproxy.com/2015/1...)
  2. OpenNews: Выпуск HTTP/TCP балансировщика HAProxy 1.5
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/43142-haproxy
Ключевые слова: haproxy, balance
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (36) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 21:57, 15/10/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –8 +/
    Годнота, конечно, но для проксирования/балансировки HTTP nginx как-то лучше подходит.
     
     
  • 2.2, username (??), 22:04, 15/10/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Чем же?
     
     
  • 3.5, twitt (?), 22:38, 15/10/2015 [^] [^^] [^^^] [ответить]  
  • –4 +/
    HAproxy не умеет https, вроде бы это основной его недостаток.
     
     
  • 4.7, ага (?), 23:05, 15/10/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    https там с версии 1.5 полностью реализован
     
  • 4.8, karls0n (?), 23:05, 15/10/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    умеет же уже, причем похоже с 1.5 без stunnel
     
  • 3.17, eRIC (ok), 10:37, 16/10/2015 [^] [^^] [^^^] [ответить]  
  • +9 +/
    > Чем же?

    обычная версия haproxy по сравнению с обычным nginx более функциональней и богат возможностями:
    - resolver
    - sticky sessions
    - удобный мониторинг(status)
    - tcp-check
    - external cheker
    - ...

    кратко говоря, если рассматривать как балансировщик(так как nginx может выступать в роле веб сервера):

    1- если нужна простая и обычная балансировка, нет денег = nginx бесплатный
    2- если нужна более функциональней балансировка, нет денег = haproxy
    3- если ты баран и постоянно твердишь что nginx лучший = nginx plus и живи со своим мнением
    4- если ты баран и постоянно твердишь что haproxy лучший=  HAProxy Enterprise Edition - HAPEE и живи со своим мнением

    не вижу смысла мерить писульки у разных мальчиков :)

     
     
  • 4.21, Anonymous100500 (?), 14:13, 16/10/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > sticky sessions

    http://nginx.org/en/docs/http/load_balancing.html#nginx_load_balancing_with_i

     
     
  • 5.25, eRIC (ok), 16:56, 16/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >http://nginx.org/en/docs/http/load_balancing.html#nginx_load...

    Анонимы, которые никогда не пользователи nginx и им лишь бы ляпнуть. вы хоть сравнивали и пробовали в жизни использовать методы балансировки доступные в двух бесплатных продуктах?

    ip_hash это самое простое и примитивное решение для реализации sticky sessions в бесплатном nginx. вы хоть по своей ссылки дальше читали расширенные функции но: Эта директива доступна как часть коммерческой подписки.

    haproxy методы балансировки: http://cbonte.github.io/haproxy-dconv/configuration-1.6.html#balance

     
  • 4.24, ага (?), 16:15, 16/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    proxy protocol забыли
     
     
  • 5.26, eRIC (ok), 16:56, 16/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > proxy protocol забыли

    для остального я оставил ... :)

     
  • 4.30, й (?), 16:00, 18/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > обычная версия haproxy по сравнению с обычным nginx более функциональней и богат возможностями:

    в nginx ещё и кэш есть

    нет, серьёзно, в 21 веке кому-то нужна http-балансировка без кэширования?

     
     
  • 5.32, eRIC (ok), 19:12, 18/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >в nginx ещё и кэш есть

    согласен

     
  • 2.3, нескажу (?), 22:05, 15/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Для балансировки как раз нет, а вот всё остальное да.
     
  • 2.4, Аноним (-), 22:17, 15/10/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    для проксирования/балансировки HTTP, TCP, UDP - HAProxy самый лучший.
     
     
  • 3.6, Аноним (-), 22:53, 15/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    а где же аргументированое обоснование? почемему?
     
  • 3.15, Аноним (-), 09:29, 16/10/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Откройте для себя ipvs. По скорости с ним мало кто сравнится. Haproxy клевый когда нужно что то на базе L7 делать. В остальных случаях он ничем не интереснее ipvs.
     
     
  • 4.28, Аноним (-), 03:35, 17/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    ipvs есть для kernel 4.2.x ?
     
     
  • 5.35, art3m (?), 12:04, 19/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Он с 2004 года в ядре, и никто его оттуда не выкидывал.
     
  • 2.11, Аноним (-), 02:14, 16/10/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А я использую и то и другое совместно.
    haproxy отлично отстреливает упавшие ноды (асинхронно) + позволяет лимитировать подключения к каждому бекенду, чего в nginx есть только в платном.
     
     
  • 3.13, Аноним (-), 03:37, 16/10/2015 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Внезапно, в платном ентепрайзном haproxy тоже есть web ui
     
     
  • 4.16, eRIC (ok), 10:27, 16/10/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    не в интерпрайс версии haproxy есть Web UI намного лучшее чем status в бесплатном nginx
     
  • 3.20, eRIC (ok), 13:20, 16/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    да я тоже использую одновременно haproxy и nginx, которые выполняют свою работу как надо отвечая за свою часть работы
     

  • 1.9, rshadow (ok), 23:45, 15/10/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Класс: тыкаешь в ссылку почитать про опенсорс версию - попадаешь на вырвиглазную вики, а ля 90-е. Рядом тыкаешь на ынтерпрайз версию - попадаешь на стильный сайтик.
     
     
  • 2.10, Аноним (-), 01:51, 16/10/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    и это замечательно
     
  • 2.19, Аноним (-), 11:01, 16/10/2015 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Это ты список рассылки назвал вики девяностых?
     
  • 2.22, Нимано (?), 14:35, 16/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > попадаешь на вырвиглазную вики

    А чего там вырвиглазного? Там всех "стилей" то:



            body { font-family:Arial, Helvetica, sans-serif; font-size:1.00em; }
            pre { font-family: "courier new", courier, monospace; font-size:12pt; font-weight:600; }



    т.е. жутковатые (спасибо продавцам яблок и окошкопроизводителям за патентирование всего и вся в отрисовке шрифтов) яблочно-МСшные шрифты.
    Т.е. – все равно нужно настроить или браузер или сразу шрифты. Иначе примерно треть веба будут "вырвиглазными".

     

  • 1.12, Наркоман (?), 02:27, 16/10/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    http2?
     
     
  • 2.18, eRIC (ok), 10:44, 16/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > http2?

    насколько мне известно поддерживается частично SPDY/HTTP2 через NPN и ALPN. полной поддержки http/2 в 1.6 не будет. скорее всего в 1.7

     

  • 1.14, Аноним (14), 09:14, 16/10/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    От использования одни восторги если умеешь его готовить, а то что теперь в стабильной версии тело запроса умеет обрабатывать - главное улучшение ИМХО
     
  • 1.23, Аноним (-), 14:41, 16/10/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Для мульти просецессинга nginx годней имхо. У haproxy в этом режиме context switching зашкаливает.
     
     
  • 2.27, eRIC (ok), 20:06, 16/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >Для мульти просецессинга nginx годней имхо. У haproxy в этом режиме context switching зашкаливает.

    ?

     
     
  • 3.29, Аноним (-), 18:18, 17/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    ?
     

  • 1.31, geektm (?), 17:56, 18/10/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Так еще через 10 лет haproxy наконец научиться перезагружать конфигурацию и обновлять бинарник без потери соединений, как nginx. Тогда можно будет попробовать.
     
     
  • 2.33, eRIC (ok), 19:29, 18/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >Так еще через 10 лет haproxy наконец научиться перезагружать конфигурацию и обновлять >бинарник без потери соединений, как nginx. Тогда можно будет попробовать.

    не использовать service haproxy reload и запустить новый бинарник:
    #haproxy -f /etc/haproxy.cfg -p /var/run/haproxy.pid -sf $(cat /var/run/haproxy.pid)

     
     
  • 3.34, geektm (?), 22:57, 18/10/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А затем убить первый вместе со всеми соединениями, которые он должен обслужить?
     
     
  • 4.36, eRIC (ok), 12:41, 20/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >А затем убить первый вместе со всеми соединениями, которые он должен обслужить?

    согласен, без потери не проканает, в haproxy архитектуры процессов как в nginx master и slave нет...

     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру