Выпуск HTTP/TCP балансировщика HAProxy 1.6
После шестнадцати месяцев разработки увидел свет 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.
© OpenNet