Архитектура проекта 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. Негарантированная успешность выполнения операции компенсируется сверхвысокой производительностью, при необходимости более надежного выполнения операций используется менее производительная библиотека

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Архитектура проекта LiveJournal», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.