Выпуск Apache Traffic Server 4.0

Организация Apache Software Foundation объявила о выходе высокопроизводительного http-сервера Apache Traffic Server 4.0, который может выступать в роли промежуточного звена, перенаправляющего запросы к бэкэндам, генерирующим динамический контент, или обеспечить отдачу статических объектов, таких как файлы, JavaScript, CSS и картинки. Traffic Server также включает в себя набор сервисов для работы в качестве распределенной системы, в том числе средства конфигурирования, управления сессиями, балансировки, авторизации и маршрутизации запросов. Apache Traffic Server поддерживает режим кэширования, позволяющий снизить нагрузку на сервер и сократить внутренний трафик за счет повторного использования и кэширования отдачи часто запрашиваемых web-страниц, изображений и обращений к web-сервисам. Для запросов которые не поддаются кэшированию может применяться режим прокси, предоставляющий средства балансировщика нагрузки и фильтрации запросов. Для расширения функциональности Apache Traffic Server предоставляется API для разработки плагинов, способных решать различные задачи, такие как изменение HTTP-заголовков и содержимого отдаваемого контента или создание обработчиков c реализацией поддержки новых протоколов.

Изначально продукт был разработан компанией Yahoo, но в 2009 году переведен в разряд открытых проектов и передан фонду Apache. Traffic Server используется в Yahoo для обеспечения работы системы динамической обработки HTTP-запросов, ежедневно доставляющая конечным пользователям около 400 терабайт контента и 30 миллиардов объектов. При тестировании производительности Traffic Server смог обеспечить отдачу более 200 тысяч небольших объектов в секунду при задействовании кэширования в ОЗУ или 100 тыс. объектов в секунду без использования кэширования.

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

Возможность привязки URL к определённым хранилищам. Например, можно организовать кэширование определённого контента только на SSD-накопителях; Средства для управления HTTP-транзакциями с учётом текущего потребления памяти при их обработке. Новая версия позволяет ограничить пропускную способность в случае если размер размещаемого в памяти буфера превышает определённую границу и снять ограничение при восстановлении ситуации с расходом памяти. С использованием плагинов ограничения также могут задаваться для отдельных транзакций; Поддержка привязки основных обработчиков к фиксированным ядрам CPU, исключая миграцию между CPU; Поддержка обработки запросов HTTP Range; Новые плагины: gzip и cacheurl; Режим приостановки проксирования до окончания инициализации кэша (временная недоступность кэша первые моменты после запуска сервера может привести к нежелательному всплеску запросов к бэкенду); Возможность кэширования контента нулевой длины (полезно для кэширования редиректов); Поддержка дублирования элементов кэша на разных узлах кластера; Расширено число опций для которых допускается переопределение через API плагинов или через модуль conf_remap.so; В API плагинов добавлены хуки для получения управления во время инициализации сетевого порта, готовности к приёму соединений и готовности кэша; Изменение формата хранилища кэша. При переходе на версию 4.0 требуется переинициализация кэша. Дополнительно отмечается изменение процесса подготовки релизов. Значительные релизы будут выходить один раз в год, а промежуточные — раз в квартал. В рамках значительного релиза будет гарантироваться обратная совместимость на уровне API, ABI, функциональности и формата кэша. Master-ветка в Git теперь будет постоянно поддерживаться в стабильном виде, готовом к релизу в любой момент, что позволит использовать срез данной ветки в качестве замены тестовых выпусков.

© OpenNet