| Организация 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 теперь будет постоянно поддерживаться в стабильном
виде, готовом к релизу в любой момент, что позволит использовать срез
данной ветки в качестве замены тестовых выпусков.
| |