Доступен выпуск основной ветки высокопроизводительного HTTP-сервера nginx 1.9.13, в котором представлены следующие улучшения:
- В модуль stream добавлена поддержка балансировки трафика UDP, которая дополнила собой ранее добавленный балансировщик произвольных TCP-соединений. Проброс UDP может быть полезен для распределения нагрузки между несколькими DNS-, syslog- или radius-серверами. Среди поддерживаемых методов балансировки: round-robin (круговой перебор, при котором соединения равномерно распределяются среди обработчиков), least-connections (запрос перенаправляется к менее нагруженному серверу), least_time (перенаправление на сервер, демонстрирующий наиболее высокую отзывчивость) и hash (перенаправление на основе хэша от определённого пользователем параметра, например, IP). После перенаправления запроса серверу, nginx дожидается ответа и переотправляет его клиенту. Если сервер не ответил в течение таймаута, nginx помечает сервер как проблемный и прекращает отправлять на него запросы, но раз в несколько секунд проверяет не восстановился ли он, отправляя пробный клиентский запрос.
- Возможность сборки ngx_http_perl_module в виде динамически загружаемого модуля;
- Новая директива aio_write, управляющая применением AIO при записи файлов;
- В менеджере кэша (cache manager) обеспечен мониторинг числа элементов в кэше и добавлены средства для предотвращения переполнения зоны ключей в разделяемой памяти;
- Отключена по умолчанию передача на следующий сервер неидемпотентных запросов (POST, LOCK, PATCH), если запрос уже был отправлен на бэкенд. Для включения повторной отправки следует указать в директиве proxy_next_upstream параметр non_idempotent.
|