Sportbox.ru - официальный портал телеканала «Спорт». Информационные сервисы, представленные на портале, включают спортивные новости, аналитику, онлайн-результаты, лицензионные видеоролики по запросу, прямые видеотрансляции (до 6 потоков прямых трансляций одновременно, включая те, которые канал «Спорт» не транслирует в прямом эфире). Портал входит в тройку крупнейших спортивных сайтов Рунета (в зависимости от событий, обладая уникальным конетном, портал был и на первом месте). По версии Alexa.com на текущий момент портал в сотне крупнейших сайтов Рунета. Мы были первым спортивным порталом Рунета, массово запустившим раздел многопользовательских и казуальных спортивных онлайн-игр. Форум Спортбокса — крупнейший в Руннете спортивный форум. Портал состоит из ряда сайтов, расположенных на поддоменах и выполненных на разных CMS, в том числе news.sportbox.ru – основной и наиболее нагруженный сайт на Drupal.
Подробнее: catalogr.ru/interview/oleg-degtyarev/
Какое Вы имеете отношение к проекту?Технический директор
Drupal позволяет нам более или менее унифицированно решать большинство связанных с порталом задач. Конечно, приходится многое дорабатывать, но нам удается оставаться в рамках стандартного кода предоставляемых сообществом модулей, не меняя их. Все доработки оформляются в виде собственных модулей, связанных с особенностями бизнес-процессов портала.
Drupal 6.6-6.14 (наш микс из разный версий в соответствии с фиксами в тех или иных модулях)
Рассматривались такие характеристики, как универсальность системы, открытость, активность комьюнити, распространенность, количество уже существующих модулей и т.п. - в общем,всё, что может максимально избавить от необходимости изобретать велосипеды.
До весны 2008 года на Спортбоксе использовалась самописная CMS на основе Zope3, с которой были невероятные в современном мире web-разработок проблемы по поддержке, производительности и т.п. В свое время разработка этой системы заняла более полугода. Весной 2008 года удалось заменить эту систему на Drupal, переход занял около 2 месяцев, из которого на написание кода ушло около месяца.
Непосредственно друпальными проектами занимаются 2 программиста.
У нас очень плотно используется таксономия.
Стараемся не менять стандартные модули, чтобы не усложнять поддержку и апгрейд. Собственных модулей существует несколько десятков — практически все так или иначе связаны с особенностями бизнес-процессов, визуального и системного дизайна Спортабокса.
Для нас наиболее интересные задачи — задачи, связанные с объединением различных видов материалов в общих лентах (текст, фото, видео) с т.з. дизайна, создания и управления этими материалами... Гибкость Drupal в части шаблонизации, возможности хуков и т.п. позволяют относительно просто реализовать такое объединение.
Модули Core, некоторые из CCK (Content, Fieldgroup, ImageField, Text), ImageAPI, ImageCache, модули Views, ряд других незначительных модулей + большое кол-во своих модулей, реализующих нюансы наших workflow.
Схема классическая для проектов под нагрузкой: пользователи попадают сначала на фронтенд с кеширующими серверами (сейчас это squid, но планируем перейти на кеширование в новом nginx), если в кеше ничего нет — запрос уходит на бакенд с запущенной связкой nginx+fcgi-php с Друпалом. БД друпала — на отдельном сервере. В группах фронтендов и бакендов по несколько серверов для обеспечения большей надежности и масштабируемости. Статика (дизайн, картинки и т.п.) также отдается напрямую с фронтендов. Кеширование не привязано к отдельному пользователю, и уникальные для пользователя части страницы (ник логина, комментарии, опросы) отдаются через JS в обход кеша.
Да, собственно, выше описал механизм кеширования. Встроенного кеширования мало, т. к. у нас большое кол-во залогиненных пользователей и особенности спорта таковы, что в отдельные дни в моменты событий может лавинообразно повышаться кол-во таких, залогиненных пользователей.
Если говорить о собственно модулях Drupal, то они вполне нормально реализованы для тех целей, которые выполняют. Мы выбрали для форума (и комментариев и опросов, т. к. они выдираются из форума и вставляются на сайт именно оттуда) сторонний скрипт просто потому, что это один из наиболее функциональных и, что не менее важно, популярных и привычных форумных движков на текущий момент. ИМХО, за таким специализированным функционалом нет смысла гнаться... Сайт Видео, к примеру, а нас тоже долгое время был не на Drupal — он «вырос» из некой внутренней системы управления трансляциями и в какой-то момент было проще прикрутить к нему пользовательский интерфейс. Хотя в текущий момент мы идем по пути интеграции его в основной сайт — но тут опять же, всё слишком специфично для Спортбокса, чтобы имело смысл говорить о каком-то универсальном модуле.
В рамках подготовки к главным спортивным событиям этого года (Зимней Олимпиаде в Ванкувере, Чемпионатам Мира по Хоккею и по Футболу), мы провели ряд изменений в платформе. Например, отказались от кеширования в squid и реализовали кеш в nginx. Практически все пользователи, кроме администрации портала, получают наравне с гостями закешированные в nginx страницы. Небольшие включения зависимой от конкретного пользователя информации (ник в зоне логина, часть комментариев под материалами, опросы) обрабатываются через JavaScript. Это позволило значительно разгрузить бакэнды (сервера с Drupal) и БД. Наряду с использованием CDN (несколько наших серверов на удаленных площадках + Ngenix CDN) для раздачи статики (роликов, картинок, элементов дизайна, файлов css, js) это позволило обрабатывать в пиках до миллиона пользователей в сутки, до 7 миллионов просмотров страниц без расширения аппаратной части, причем со значительным запасом, судя по загрузке серверов. В нормальном режиме на текущий день комплекс без труда обрабатывает 400-500 тысяч посетителей в день.
О CMS Magazine:Проект хороший, но ему бы побольше пиара и пользователей %)