Организация Apache Software Foundation представила релиз высокопроизводительного http-сервера Apache Traffic Server 3.0. Продукт обеспечивает полную поддержку протокола HTTP/1.1 и позволяет обеспечить как кеширование статичных объектов, таких как файлы, JavaScript, CSS и картинки, так и выступать в роли промежуточного звена, перенаправляющего запросы к фронтэнд серверам, генерирующим динамический контент. Сервер включает в себя набор сервисов для продуктивной работы в качестве распределенной облачной-системы: средства конфигурирования, управления сессиями, балансировки, авторизации и маршрутизации запросов.
Измерение производительности новой версии Apache Traffic Server показало по сравнению с веткой 2.0 увеличение скорости обработки запросов в 2-3 раза, при уменьшении времени реакции (latency) до 5 раз. На тестовой системе новая версия оказалась способной обеспечить отдачу около 220 тысяч небольших объектов в секунду при их помещении в размещенный в ОЗУ кэш или 100 тыс. объектов в секунду без использования кэширования.
Изначально продукт был создан в недрах компании Yahoo, но в 2009 году переведен в разряд открытых проектов и отдан под опеку фонда Apache. Traffic Server представляет собой систему динамической обработки HTTP-запросов, которая использовалась в Yahoo последние 10 лет и до сих пор задействована для ежедневной доставки конечным пользователям около 400 терабайт контента. Ежедневно Traffic Server обслуживает отдачу пользователям Yahoo примерно 30 миллиардов объектов.
Основные области применения и особенности Apache Traffic Server:
- Кэширование: уменьшение времени ответа, снижение нагрузки на сервер и сокращение внутреннего трафика за счет повторного использования и кэширования отдачи часто запрашиваемых web-страниц, изображений и обращений к web-сервисам;
- Работа в качестве прокси: поддержка keep-alive, фильтрации и анонимизации запросов контента, использование в качестве балансировщика нагрузки;
- Скорость: высокая степень масштабируемости на современных многоядерных системах, способность обрабатывать на обычном оборудовании десятков тысяч запросов в секунду;
- Расширяемость: доступен API для разработки расширяющих функциональность плагинов, способных решать различные задачи, такие как изменение HTTP-заголовков и содержимого отдаваемого контента или создание обработчиков c реализацией поддержки новых протоколов;
- Надежность: система проверена в промышленной эксплуатации и используется для отдачи сотен терабайт трафика.
Основные улучшения, добавленные в версии 3.0:
- Полная поддержка работы на 64-разрядных системах;
- Поддержка IPv6 на стороне клиента;
- Реализация протокола WCCP (Web Cache Communication Protocol);
- Готовые к эксплуатации средства кластеризации, такие как эффективный распределенный кэш;
- Значительное расширение возможностей API для построения плагинов;
- Поддержка дополнительных платформ, включая Linux, Mac OS X, Solaris и FreeBSD;
- Улучшение алгоритма кэширования в оперативной памяти, что позволило уменьшить потребление памяти и увеличить производительность;
- Многие опции конфигурации теперь можно настраивать в привязке к заданной транзакции или правилу маппинга;
- Расширение API для управления и доступа к статистике;
- Поддержка нескольких ожидающих соединения потоков и возможность выделения отдельного потока для формирования запросов к DNS;
- Увеличена гибкость системы сборки, которая стала более дружелюбной для создания пакетов.