mail@highloadlab.com skype: highloadlab
joggle.com - хранилище цифрового контента
 

Проектная масштабируемость - сотни миллиардов файлов, тысячи узлов

 

Низкоуровневое хранилище  на основе reiser4/lib-reiser4.
Межузловой кросс-кэш.
Объектно-ориентированная очередь с использованием libevent в качестве интерфейса к веб-приложению.

 

 
Год выполнения работ: 2005-2006

Выполненные работы:

-  разработано низкоуровневое хранилище  на основе reiser4/lib-reiser4
-  проектная масштабируемость - сотни миллиардов файлов, тысячи узлов
-  реализован меж-узловой кросс-кэш
-  доступ к чтению/записи данных посредством  http
  (модифицированый lighttpd)
-  обьектно-ориентированная очередь с использованием libevent в качестве интерфейса к веб-приложению.

 

Игры@Mail.Ru - игровой сервис портала Mail.Ru
 

ежедневные показатели

Посетители 50.000+

 

Сетевая архитектура проекта.

 
Год выполнения работ: 2005

Выполненные работы:
- архитектура из 5-ти узлов c распределением нагрузки по dns round-robin.
- хранилище для "тяжелых файлов" в каждом из узлов и система.
автоматического "умножения" популярного контента. cамые горячие файлы присутствуют на более чем одном узле.
- позже выделенный NAS сервер для "тяжелого" контента: модифицированый VFS cache плюс оптимизированый reiserfs - 8 террабайт контента в сутки.

Territory.ru - онлайн игра, с использованием техологий Apache/PHP/MySQL
 

ежедневные показатели

Посетители 50.000+

HTTP запросы 100.000.000+

 

Cпециализированная сборка ядра линукс.
Кластеризация приложения, шардинг.
Оптимизация структуры БД.
Перевод кода с интерфейса CGI на FCGI.
Развертывание http-акселератора.
Защита от DDoS.

 
Год выполнения работ: 2004

Были использованы все наработки использовавшиеся в apeha.ru:
специализированые ядра, шардинг, оптимизация структуры бд,
http-акселлератор.

Со следующими отличиями:
- проект изначально задумывался как гораздо более масштабный.
- разделения игроков по разным игровым серверам было исключено игровым дизайном.
- обьем кода, количество работающих над игрой программистов на порядок
превосходило apeha.ru.
- гораздо более динамичная игровая механика серьезно "подогрела"
количество кликов совершаемых средним пользователем.
- из-за комплексности кода и более высокой конкурентности (количестве
одновременно происходящих событий) всерьез встала проблема локинга
различных ресурсов.
 

- http-акселлератор обзавелся функцией распределения нагрузки между
скриптовыми узлами;
- написан "легкий" php профайлер, позволяющий автоматически выявлять
неэффективные функции;
- введена система сегментирования таблиц БД и "переезда" записей между
ними (см. MySQL5.1 (2008) , table partitioning) ;
- введена система 0-Swap - полный отказ от виртуальной дисковой
памяти, что потребовало хирургической точности бюджетирования
ресурсов, но дало очевидные выигрыши в скорости;
- первая версия защиты от DDOS (модификации TCP стэка + iptables),
которая позволяла уже соединившимся пользователям просто не замечать
того что веб-ресурс находится под DDOS.
- реализована собственная про-активная система мониторинга ресурсов
узлов веб-кластера, заблаговременно оповещающая об исчерпании ресурсов
(память,процессор,диск) узла.
- система тестирования нового "неблагонадежного" функционала.

Apeha.ru - онлайн игра с использованием технологий Apache/CGI/Perl/Mysql/Flash
 

ежедневные показатели

Посетители 100.000+

HTTP запросы 170.000.000+ 

 

Cпециализированная сборка ядра линукс.
Кластеризация приложения, шардинг.
Оптимизация структуры БД.
Перевод кода с интерфейса CGI на FCGI.
Развертывание http-акселератора.

 
Год выполнения работ: 2003

Выполненные работы:
- специализированная сборка ядра линукс с preemptive scheduler: дало
более ровное распределение процессорного времени между процессами, как
следствие сократился "лаг" для всех игроков, система оставалась
доступной и отзывчивой при даже при 10ти кратной перегрузке узла.
- кластеризация приложения, шардинг: позволило увеличить количество
онлайн пользователей на порядок.
- оптимизация структуры БД, ee функциональное деление и миграция на
постоянные соединения к базe: существенно снизило нагрузку на сервера
базы данных.
- перевод кода с интерфейса CGI на FCGI: существенно сократил
издержки при выполнении скриптовой логики реализованой на perl.
- развертывание http-акселератора: позволило увеличить емкость
скриптовых узлов освободив их от неестественной нагрузки, раздачи
статического контента.

Исходя из текущего состояния кода, дизайна игрового контента и
экономических предпосылок была сформулирована стратегия
масштабирования проекта, позволившая ему занять лидирующие позиции в
рейтинговых системах.