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

Материал из Викиновостей, свободного источника новостей
Перейти к навигации Перейти к поиску

10 апреля 2008 года

Wikinews-logo-ru.svg

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

Источники[править]


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

Комментарии:Архитектура проекта LiveJournal