Архитектура проекта LiveJournal
Внешний вид
10 апреля 2008 года

Иван Блинков подготовил материал по архитектуре ресурса LiveJournal, обеспечивающего работу более 15 миллионов блогов, из которых 500 тыс. являются постоянно обновляемыми.
Для поддержания инфраструктуры используется более сотни серверов, работающих под управлением Debian GNU/Linux (Sarge). Используемые программные решения:
- Скрипты написаны на Perl, для работы задействован mod_perl;
- Базовый HTTP сервер Apache, в качестве легкого web-сервера для отдачи статики несколько лет назад использовался TUX/thttpd;
- СУБД кластер из реплицированных серверов MySQL 4.0/4.1, таблицы в основном InnoDB;
- Perlbal - высокопроизводительный http-сервер, прокси и балансировщик нагрузки, написанный на Perl;
- Распределенная файловая система MogileFS, реализованная на уровне многоплатформенного приложения на Perl. Присутствуют операции создания файла (путь к файлу представляет собой множество ключей в рамках заданных доменов, информация о файлах хранится в MySQL базе) и его чтения (т.е. пригодна для решения задач, когда нужно один раз создать файл, а потом многократно его читать, модификация файла производится только путем полной перезаписи). Для каждого файла задается его класс, определяющий на какое число соседних машин от будет реплицирован. Отлично подходит для создания распределенных web-проектов и как средство создания высоконадежного хранилища данных, не прибегая к использованию RAID. Доступ пользовательских приложений к ФС осуществляется посредством HTTP запросов (PUT/GET) или через использования виртуального NFS тома.
- Распределенной система кэширования объектов в оперативной памяти - memcached, на каждом из серверов установлено максимально возможный объем ОЗУ, который задействован в распределенной системе кэширования;
- Система удаленного выполнения процедур - Gearman. Негарантированная успешность выполнения операции компенсируется сверхвысокой производительностью, при необходимости более надежного выполнения операций используется менее производительная библиотека
Источники


Эта статья загружена автоматически ботом NewsBots в архив и не проверялась редакторами Викиновостей.