Выпуск 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 требуется переинициализация кэша.