Два года назад Дуров и Иларионов поделились на конференции HighLoad++ о архитектуре вКонтакте. Привожу данные на 2010 год, думаю основательно данные не поменялись, а для общего представления хватить двугодичной точности.

И так…
Платформа вКонтакте:
Debian Linux* — основная операционная система
**nginx — балансировка нагрузки
PHP + XCache
Apache + mod_php
memcached
MySQL
Собственная СУБД на C
node.js — прослойка для реализации XMPP, живет за HAProxy
Изображения отдаются просто с файловой системы xfs
ffmpeg — конвертирование видео
Статистика вКонтакте на 2010 год:
95 миллионов учетных записей
40 миллионов активных пользователей во всем мире
11 миллиардов запросов в день
200 миллионов личных сообщений в день
Видеопоток достигает 160Гбит/с
Более 10 тысяч серверов, из которых только 32 — фронтенды на nginx
30-40 разработчиков, 2 дизайнера, 5 системных администраторов, много людей в датацентрах
Каждый день выходит из строя около 10 жестких дисков
*Архитектура вКонтакте:
Cервера многофункциональны и используются одновременно в нескольких ролях:
— Перебрасывание полуавтоматическое;
— Требуется перезапускать daemon’ы;
При балансировке нагрузки используются:
— Взвешенный round robin внутри системы
— Разные сервера для разных типов запросов
— Балансировка на уровне ДНС на 32 IP-адреса
Мощные сервера:
— 8-ядерные процессоры Intel (по два на сервер, видимо)
— 64Гб оперативной памяти
— 8 жестких дисков (соответственно скорее всего корпуса 2-3U)
— RAID не используется
— Не брендированные, собирает компания ТехноОкта
— Вычислительные мощности серверов используются менее, чем на 20%
Сейчас проект расположен в 4 датацентрах вСанкт-Петербурге и Москве, причем:
— Вся основная база данных располагается в одном датацентре вСанкт-Петербурге
— В Московских датацентрах только аудио и видео
— В планах сделать репликацию базы данных в другой датацентр в ленинградской области
— CDN на данный момент не используется, но в планах есть
— Резервное копирование данных происходит ежедневно и инкрементально
Волшебная база данных на C
*Разработана «лучшими умами» России, победителями олимпиад и конкурсов топкодер; озвучили даже имена этих «героев» Вконтакте (писал на слух и возможно не всех успел, так что извиняйте):
—Андрей Лопатин
—Николай Дуров
—Арсений Смирнов
—Алексей Левин
*Используется в огромном количестве сервисов:
— Личные сообщения
— Сообщения на стенах
— Статусы
— Поиск
— Приватность
— Списки друзей
Аудио и видео
1500 серверов используется для перекодирования видео, на них же оно и хранится.
Fanny
• Ядро операционной системы модифицированно (на предмет работы с памятью), есть своя пакетная база для Debian
• Фотографии загружаются на два жестких диска одного сервера одновременно, после чего создается резервная копия на другом сервере
• Есть много доработок над memcached, в.т.ч. для более стабильного и длительного размещения объектов в памяти; есть даже persistent версия
• Фотографии не удаляются для минимизации фрагментации
• Решения о развитии проекта принимают Павел Дуров и Андрей Рогозов, ответственность за сервисы — на них и на реализовавшем его разработчике
• Павел Дуров откладывал деньги на хостинг с 1 курса
Через неделю напишу о архитектуре Google в которой насчитывается болем 1 000 000 серверов…

И так…
Платформа вКонтакте:
Debian Linux* — основная операционная система
**nginx — балансировка нагрузки
PHP + XCache
Apache + mod_php
memcached
MySQL
Собственная СУБД на C
node.js — прослойка для реализации XMPP, живет за HAProxy
Изображения отдаются просто с файловой системы xfs
ffmpeg — конвертирование видео
Статистика вКонтакте на 2010 год:
95 миллионов учетных записей
40 миллионов активных пользователей во всем мире
11 миллиардов запросов в день
200 миллионов личных сообщений в день
Видеопоток достигает 160Гбит/с
Более 10 тысяч серверов, из которых только 32 — фронтенды на nginx
30-40 разработчиков, 2 дизайнера, 5 системных администраторов, много людей в датацентрах
Каждый день выходит из строя около 10 жестких дисков
*Архитектура вКонтакте:
Cервера многофункциональны и используются одновременно в нескольких ролях:
— Перебрасывание полуавтоматическое;
— Требуется перезапускать daemon’ы;
При балансировке нагрузки используются:
— Взвешенный round robin внутри системы
— Разные сервера для разных типов запросов
— Балансировка на уровне ДНС на 32 IP-адреса
Мощные сервера:
— 8-ядерные процессоры Intel (по два на сервер, видимо)
— 64Гб оперативной памяти
— 8 жестких дисков (соответственно скорее всего корпуса 2-3U)
— RAID не используется
— Не брендированные, собирает компания ТехноОкта
— Вычислительные мощности серверов используются менее, чем на 20%
Сейчас проект расположен в 4 датацентрах в
— Вся основная база данных располагается в одном датацентре в
— В Московских датацентрах только аудио и видео
— В планах сделать репликацию базы данных в другой датацентр в ленинградской области
— CDN на данный момент не используется, но в планах есть
— Резервное копирование данных происходит ежедневно и инкрементально
Волшебная база данных на C
*Разработана «лучшими умами» России, победителями олимпиад и конкурсов топкодер; озвучили даже имена этих «героев» Вконтакте (писал на слух и возможно не всех успел, так что извиняйте):
—Андрей Лопатин
—Николай Дуров
—Арсений Смирнов
—Алексей Левин
*Используется в огромном количестве сервисов:
— Личные сообщения
— Сообщения на стенах
— Статусы
— Поиск
— Приватность
— Списки друзей
Аудио и видео
1500 серверов используется для перекодирования видео, на них же оно и хранится.
Fanny
• Ядро операционной системы модифицированно (на предмет работы с памятью), есть своя пакетная база для Debian
• Фотографии загружаются на два жестких диска одного сервера одновременно, после чего создается резервная копия на другом сервере
• Есть много доработок над memcached, в.т.ч. для более стабильного и длительного размещения объектов в памяти; есть даже persistent версия
• Фотографии не удаляются для минимизации фрагментации
• Решения о развитии проекта принимают Павел Дуров и Андрей Рогозов, ответственность за сервисы — на них и на реализовавшем его разработчике
• Павел Дуров откладывал деньги на хостинг с 1 курса
Через неделю напишу о архитектуре Google в которой насчитывается болем 1 000 000 серверов…
http://indev.org.ua/2012/05/12/3/
Leave a comment
















