HighLoad.org – блог о высоких нагрузках
HighLoad.org > Открытие кода Traffic Server: 700 тысяч строк кода, 9 месяцев

Открытие кода Traffic Server: 700 тысяч строк кода, 9 месяцев
2010-02-25 18:19 my_fess 
Это выдержка из разговора с Andrew Hsu, членом команды Yahoo!, которая подготовила кодовую базу Traffic Server к open source выпуску.

Что такое Traffic Server (TS)?

Traffic Server - это быстрый, масштабируемый, расширяемый, совместимый с HTTP/1.1 кэширующий прокси сервер. В состав TS входит расширяемый фреймворк, который основывается на "plug-in" архитектуре. Разработчики могут изменять существующие плагины, или разрабатывать свои для того, чтобы удовлетворить специфические требования приложения, при этом получая выгоду от встроенной эффективности и производительности Traffic Server. Примеры плагинов, которые обычно разрабатывают пользователи: специфические для приложения балансировщики нагрузки и отображение URL. Обратите внимание на описание использования TS в Yahoo от Miles Libbey.

Какова история TS?

Traffic Server изначально был создан как коммерческий продукт и продавался Inktomi. Он был разработан для запуска на любой из основных операционных систем в 1990: SunOS, DEC, IRIX, Windows, Linux, FreeBSD, и т.д. Yahoo! приобрела Inktomi в 2002 и использовала Traffic Server для внутренних нужд несколько лет, но не занималась поддержкой OS-специфичного кода. В 2009, так как мы склонились к открытию кода, мы решили вырезать весь код специфичный для non-Linux для того, чтобы упростить процесс чистки кода. Теперь, когда у нас есть растущее сообщество разработчиков вокруг Traffic Server, независимые от Yahoo! разработчики могут решить написать код для более современных non-Linux операционных систем, если им это нужно.

Как Yahoo! его использует?

Traffic Server обслуживает более 30 миллиардов web объектов и более чем 400 террабайт данных в день в сети Yahoo!. Он используется как прокси или кэш (или и то, и другое одновременно) такими службами как Yahoo! homepage, Mail, Sports, Search, News, Finance. Traffic Server используется для внутренних нужд Yahoo! для управления нашим собственным трафиком, обеспечения возможности управления сессиями, аутентификации, управления конфигурациями, балансировки нагрузки и маршрутизации во всем вычислительном облаке.

Что Yahoo! выигрывает от открытия кода TS?

Мы планируем продолжать активную разработку. К примеру, мы планируем добавить поддержку IPv6 и улучшить производительность при работе с очень большими файлами. Мы бы хотели работать вместе с сообществом над этими и другими вопросами и получать выгоду от профессионализма и опыта людей, не работающих в Yahoo!. После открытия кода, сообщество уже внесло патчи для обеспечения полноценной 64-битной функциональности.

Кто участвовал в открытии кода TS?

Команда разработчиков Yahoo! работала над модификацией кода специально для подготовки к выпуску его open source. Мы также взаимодействовали с командами юристов, юзабелистов, проектировщиков, рабочей группой Open Source, с VP и менеджерами. Мы начали с более чем 700 тысяч строк когда и сократили их количество до 300 тысяч (согласно sloccount). Некоторые вещи, которые мы убрали касались поддержки специфических операционных систем, которые мы не хотели поддерживать; другие - специфические для Yahoo!, которые мы не хотели или не могли открыть; а также устаревшая функциональность, например, старые потоковые медиа протоколы. Я думаю, что мы поменяли каждую строчку кода, потому что мы переформатировали отступы в коде, и изменили структуру директорий. Однако, мы не изучали каждую строчку, потому то риск изменения семантики был низким.

Сколько длился процесс открытия кода?

Это планировалось на протяжении более 9 месяцев с создания первой внутренней документации об open source и до даты выпуска.

Как его можно получить?

Лучший источник - Apache SVN репозиторий.

Автор статьи: Erik Eldridge (Yahoo! Developer Network) Дата: 18 февраля 2010 Оригинал статьи


комментарии [0]  | комментировать

  © 2010-2018 HIGHLOAD