Информационные технологииStfw.Ru 🔍

Архитектура проекта LiveJournal

LiveJournal
🕛 11.04.2008, 11:21
Иван Блинков подготовил материал по архитектуре ресурса 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. Негарантированная успешность выполнения операции компенсируется сверхвысокой производительностью, при необходимости более надежного выполнения операций используется менее производительная библиотека TheShwartz;
# Система резервного копирования Brackup;
# OpenID сервер Net-OpenID-Server;
# Система темплейтов - BML;
# Jabber/XMPP-сервер djabberd написанный на Perl, при тестировании справившийся с нагрузкой в 300 тысяч одновременных соединений, израсходовав при этом всего 1Гб ОЗУ.

Новости интернета   Теги:

Читать IT-новости в Telegram
Информационные технологии
Мы в соцсетях ✉