Система построения CDN-сети Traffic Control получила статус первичного проекта Apache
Как сообщает opennet.ru организация Apache Software Foundation объявила о присвоении Apache Traffic Control статуса первичного проекта Apache. В июле 2016 года Traffic Control был передан под покровительство фонда Apache, в котором проект находился в инкубаторе, где была проверена способность следования принципам разработки и управления, принятым в сообществе Apache и основанным на идеях меритократии. Теперь Apache Traffic Control признан готовым для самостоятельного существования, не требующего дополнительного надзора. Компоненты проекта поставляются под лицензией Apache 2.0. Большая часть кода написана на языках Perl и Go. В качестве СУБД применяется PostgreSQL.
Изначально проект был создан компанией Comcast для автоматизации создания, мониторинга, конфигурирования и обслуживания крупных сетей доставки контента (CDN, Content Delivery Network). Под эгидой Apache к разработке Apache Traffic Control присоединилась компании Cisco, Cox, Concurrent и Qwilt, которые развивают на базе открытой платформы такие продукты, как Cisco Open Media Distribution, Open Edge CDN и Laguna. В настоящее врмя CDN на базе Traffic Control ежедневно обрабатывают более 50 миллиардов запросов и отдают более 30 ПБ контента.
Apache Traffic Control реализует полный набор средств для поддержания географически распределенных CDN-сетей, предлагая как низкоуровневые компоненты, так и web-интерфейс для управления, настройки и мониторинга. Целью создаваемых CDN является предоставление возможности для отправки миллионам потребителей мультимедийных файлов, изначально размещенных на поддерживаемом провайдером контента сервере с ограниченными ресурсами.
Трафик доставляется с использованием сети из прокси-серверов, кэширующих запросы потребителя к исходному серверу, а также из узлов перенаправляющих запросы к ближайшему прокси, учитывая состояние сети, расстояние, нагрузку на узлы и наличия в кэше необходимого контента. Узлы постоянно обмениваются информацией о нагрузке и передают статистику в централизованное хранилище для анализа трафика и выявления возможных проблем. Система кэширования контента построена с использованием http-сервера Apache Traffic Server.
Среди базовых компонентов Apache Traffic Control выделяются:
- Traffic Router - обеспечивает маршрутизацию клиентов к оптимальным доступным кэшам в CDN при помощи перенаправления запросов по HTTP(S) или через DNS;
- Traffic Monitor - осуществляет мониторинг кэшей с использованием различных видов системных и прикладных метрик, которые также применяются для принятия решений, обеспечивающих поддержание отказоустойчивости CDN;
- Traffic Ops - предоставляет инструменты для управления настройками серверов, группами кэшей, сервисов доставки и других компонентов CDN. Web API реализован на Perl с использованием MVC-фреймворка Mojolicious;
- Traffic Stats - вычисляет и сохраняет статистику о работе CDN. Компонент написан на языке Go и применяет InfluxDb для краткосрочного хранения оперативных данных, а также для построения графиков с использованием системы Grafana;
- Traffic Portal - реализует web-интерфейс для управления платформой. Для построения интерфейса используется фреймворк AngularJS и Node.js;
- Traffic Logs - выполняет индексирование и агрегирование логов с информацией о запросах и ответах.