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

28 ноября 2017 года

После года разработки состоялся релиз балансировщика нагрузки HAProxy 1.8, позволяющего распределять HTTP-трафик и произвольные TCP-запросы между группой серверов, учитывая множество факторов (например, проверяет доступность серверов, оценивает уровень нагрузки, имеет средства противостояния DDoS) и проводит первичную фильтрацию данных (например, можно разбирать HTTP-заголовки, отфильтровывать передачу некорректных параметров запроса, блокировать подстановку SQL и XSS, подключать агенты обработки контента). HAProxy также может применяться для координации взаимодействия компонентов в системах на базе архитектуры микросервисов. Код проекта написан на языке Си и поставляется под лицензией GPLv2. Проект используется на многих крупных сайтах, включая Airbnb, Alibaba, GitHub, Imgur, Instagram, Reddit, StackOverflow, Tumblr, Twitter и Vimeo.

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

  • Поддержка работы в многопоточном режиме в дополнение многопроцессной модели обработки соединений;
  • Поддержка HTTP/2 и автоматическое определение возможности взаимодействия по данному протоколу;
  • Кэш мелких объектов, позволяющий кэшировать на балансировщике тривиальные типовые запросы, такие как файлы favicon.ico и main.css;
  • Поддержка вывода статистики "show stat" и "show info" в формате JSON в дополнение к CSV;
  • Реализация директивы "server-template", позволяющей определить шаблоны настроек хостов. При помощи данной возможности можно устанавливать на бэкенды типовую конфигурацию и активировать серверы на лету через CLI или DNS (в записи SRV) без перезапуска;
  • Динамические Cookie теперь могут генерироваться на лету на основе адреса сервера;
  • В SPOE (Stream Processing Offload Engine) добавлена возможность передачи запросов через существующее соединение в асинхронном режиме, не дожидаясь окончания передачи прошлого запроса (pipelined);
  • Поддержка перезапуска без закрытия сетевых сокетов и обрыва установленных соединений (применяется SO_REUSEPORT);
  • Поддержка библиотеки регулярных выражений PCRE2;
  • Поддержка движков шифрования OpenSSL, работающих в асинхронном режиме;
  • Автономный резолвер DNS и возможность определения параметров работы серверов (адрес, порт, вес) через SRV-записи в DNS;
  • Поддержка TLS 1.3 с Early-Data (AKA 0-RTT) на обоих концах соединения;
  • Поддержка сборки для работы в виде сервиса, управляемого systemd.

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Выпуск HTTP/TCP-балансировщика HAProxy 1.8», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.