Iceberg V.I.P. |
Зарегистрирован: 17.03.2010
Сообщений: 12044
|
Обратиться по нику
|
Iceberg |
Ответить с цитатой | | |
|
После года разработки состоялся релиз балансировщика нагрузки HAProxy 1.8, позволяющего распределять HTTP-трафик и произвольные TCP-запросы между группой серверов, учитывая множество факторов (например, проверяет доступность серверов, оценивает уровень нагрузки, имеет средства противостояния DDoS) и проводя первичную фильтрацию данных (например, можно разбирать HTTP-заголовки, отфильтровывать передачу некорректных параметров запроса, блокировать подстановку SQL и XSS, подключать агенты обработки контента).
HAProxy также может применяться для координации взаимодействия компонентов в системах на базе архитектуры микросервисов. Код проекта написан на языке Си и поставляется под лицензией GPLv2. Проект используется на многих крупных сайтах, включая Twitter и GitHub.
Ключевые особенности выпуска:
• Поддержка работы в многопоточном режиме в дополнение многопроцессной модели обработки соединений;
• Поддержка 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. |
|
|
|
|