В статье "Inside LiveJournal's backend" (pdf формат, 62 страницы) подробно описана структура программного обеспечения обеспечивающего работу проекта LiveJournal.com (история решения проблем из-за нарастающего трафика, описано почему сделан выбор того или иного решения, показано как проводилась оптимизация).
Проект (около 4 миллионов аккаунтов, 50 миллионов запросов в день) обслуживает распределенная система из более чем 90 серверов, построенная с использованием только открытого ПО:
В качестве базы данных используется MySQL (кластер из реплицированных серверов);
Кэширование отдаваемого контента через memcached;
Почтовые сервера на базе postfix;
Web приложения на Perl, используется mod_perl;
Для отдачи статики - TUX/thttpd;
Система темплейтов - BML
Debian GNU/Linux, linux ядра 2.4 и 2.6 где неужен вызов epoll (для perlbal);
Распределенная файловая система MogileFS;
Прокси и балансировщик нагрузки - perlbal (написан на Perl).
|