haproxy 3.0: новая эра в балансировке нагрузки

Подробный разбор всех ключевых нововведений.


nf0mqndjo7810meg8uyw0iw1wz46n4jp.jpg


В этом году HAProxy отмечает 23 года, оставаясь самым быстрым и широко используемым программным балансировщиком нагрузки в мире, с более чем миллиардами загрузок на Docker Hub. HAProxy является лидером в категориях управления API, сетей контейнеров, защиты от DDoS-атак, веб-фаерволов (WAF) и балансировки нагрузки.

Основные изменения в HAProxy 3.0:

  1. Новая секция crt-store для загрузки TLS сертификатов: Теперь можно гибко управлять хранением и использованием SSL сертификатов. Секция crt-store заменяет crt-list и позволяет отдельно указывать местоположения файлов сертификатов, ключей и OCSP-ответов. Алиасы облегчают ссылку на сертификаты по именам.
  2. Ограничение проблемных HTTP/2 соединений: HAProxy теперь может отслеживать и ограничивать проблемные запросы HTTP/2, которые могут вызвать отказ в обслуживании.
  3. Присвоение GUID конфигурационным объектам: Новая директива guid позволяет присваивать уникальные идентификаторы секциям frontend, backend и listen, что помогает сохранять статистику после перезагрузки.
  4. Балансировка нагрузки Syslog: Улучшена функция балансировки сообщений Syslog, теперь можно устанавливать веса на серверных линиях в режиме логирования.
  5. Логи в формате JSON и CBOR: Теперь можно настраивать логи в форматах JSON и CBOR, указывая ключи для каждого поля.
  6. Улучшение производительности Lua и stick таблиц: Улучшения механизма загрузки и блокировки значительно повышают производительность скриптов Lua и stick таблиц на системах с большим количеством потоков.
  7. Установка стандартных TLS сертификатов: Новая версия позволяет указывать стандартный сертификат для случаев, когда не найдено совпадение по другим сертификатам.
  8. Контроль ошибок HTTP: Добавлены директивы http-err-codes и http-fail-codes, позволяющие контролировать, какие коды состояния HTTP ошибок отслеживаются.
  9. Приоритизация трафика: Теперь можно изменять поле Differentiated Services (DS) в IP пакетах для приоритизации трафика как на фронтенде, так и на бэкенде.
  10. Создание UUIDv7 идентификаторов: Метод uuid теперь поддерживает версии UUID 4 и 7, что полезно для присвоения уникальных идентификаторов записям логов.
  11. Конфигурация виртуальных файлов ACL и Map: Файлы ACL и Map теперь могут быть виртуальными, что упрощает использование в контейнеризированных средах.
HAProxy 3.0 сохраняет лидерские позиции в сфере программной балансировки нагрузки, предлагая улучшения в простоте использования, производительности, надежности, наблюдаемости и безопасности. Благодаря сообществу, проект продолжает развиваться и оставаться актуальным для множества организаций.

Вы можете установить HAProxy версии 3.0 любым из следующих способов: Запустите его как Docker-контейнер . Ознакомьтесь с инструкциями по установке Docker .

Скомпилируйте его из исходников. Посмотреть инструкцию по компиляции .