| Как Вконтакте работает?
Перебрасывание полуавтоматическое
Требуется перезапускать daemon''ыПлатформа 
Debian Linux — основная операционная система
nginx — балансировка нагрузки
PHP + XCache
Apache + mod php
memcached
MySQL
Собственная СУБД на C, созданная «лучшими умами» России
node.js — прослойка для реализации XMPP, живет за HAProxy
Изображения отдаются просто с файловой системы xfs
ffmpeg — конвертирование видео Статистика 
95 миллионов учетных записей40 миллионов активных пользователей во всем мире (сопоставимо с аудиторией интернета в России)11 миллиардов запросов в день200 миллионов личных сообщений в деньВидеопоток достигает 160Гбит/сБолее 10 тысяч серверов, из которых только 32 — фронтенды на nginx (количество серверов с Apache неизвестно)30-40 разработчиков, 2 дизайнера, 5 системных администраторов, много людей в датацентрахКаждый день выходит из строя около 10 жестких дисков Архитектура 
Cервера многофункциональны и используются одновременно в нескольких ролях: 
Взвешенный round robin внутри системы
Разные сервера для разных типов запросов
Балансировка на уровне ДНС на 32 IP-адресаГенерация страниц с новостями (микроблоги) происходит очень похожим образом с Facebook, основное отличие — использование собственной СУБД вместо MySQLПри балансировке нагрузки используются: 
Собственная СУБД (см. ниже)
Мониторинг с уведомлением по СМС
Автоматическая система тестирования кода
Анализаторы статистики и логов
8-ядерные процессоры Intel (по два на сервер)
64Гб оперативной памяти
8 жестких дисков (соответственно скорее всего корпуса 2-3U)
RAID не используется
Не брендированные, собирает компания ТехноОктаБольшая часть внутреннего софта написано самостоятельно, в том числе: 
Вся основная база данных располагается в одном датацентре в Санкт-Петербурге
В Московских датацентрах только аудио и видео
В планах сделать репликацию базы данных в другой датацентр в ленинградской областиВычислительные мощности серверов используются менее, чем на 20%Сейчас проект расположен в 4 датацентрах в Санкт-Петербурге и Москве, причем: 
CDN на данный момент не используется, но в планах естьРезервное копирование данных происходит ежедневно и инкрементально База данных на C 
Андрей Лопатин
Николай Дуров
Арсений Смирнов
Алексей ЛевинРазработана «лучшими умами» России, победителями олимпиад и конкурсов топкодер; озвучили даже имена этих «героев» Вконтакте: 
Личные сообщения
Сообщения на стенах
Статусы
Поиск
Приватность
Списки друзейИспользуется в огромном количестве сервисов: 
Нереляционная модель данныхБольшинство операций осуществляется в оперативной памятиИнтерфейс доступа представляет собой расширенный протокол memcached, специальным образом составленные ключи возвращают результаты сложных запросов (чаще всего специфичных для конкретного сервиса)Хотели бы сделать из данной системы универсальную СУБД и опубликовать под GPL, но пока не получается из-за высокой степени интеграции с остальными сервисамиКластеризация осуществляется легкоЕсть репликация Аудио и видео 
 Эти подпроекты являются побочными для социальной сети, на них особо не фокусируются. В основном это связанно с тем, что они редко коррелируют с основной целью использования социальной сети — общением, а также создают большое количество проблем: видеотраффик — основная статья расходов проекта, плюс всем известные проблемы с нелегальным контентом и претензиями правообладателей. Медиа-файлы банятся по хэшу при удалении по просьбе правообладателей, но это неэффективно и планируется усовершенствовать этот механизм. 1000—1500 серверов используется для перекодирования видео, на них же оно и хранится. 
 Интеграция со внешними ресурсами   Во Вконтакте считают данное направление очень перспективным и осуществляют массу связанной с этим работы. Основные предпринятые шаги: 
максимальная кроссбраузерность для виджетов на основе библиотек easyXDM и fastXDM;кросс-постинг статусов в Twitter, реализованный с помощью очередей запросов;кнопка «поделиться с друзьями», поддерживающая openGraph теги и автоматически подбирающая подходящую иллюстрацию (путем сравнивание содержимых тега <title> и атрибутов alt у изображений, чуть ли не побуквенно);возможность загрузки видео через сторонние видео-хостинги (YouTube, RuTube, Vimeo, и.т.д.), открыты к интеграции с другими. Интересные факты 
Процесс разработки близок к Agile, с недельными итерациямиЯдро операционной системы модифицированно (на предмет работы с памятью), есть своя пакетная база для DebianФотографии загружаются на два жестких диска одного сервера одновременно, после чего создается резервная копия на другом сервереЕсть много доработок над memcached, в.т.ч. для более стабильного и длительного размещения объектов в памяти; есть даже persistent версияФотографии не удаляются для минимизации фрагментацииРешения о развитии проекта принимают Павел Дуров и Андрей Рогозов, ответственность за сервисы — на них и на реализовавшем его разработчикеПавел Дуров откладывал деньги на хостинг с 1 курса. Итоги 
 В целом ВКонтакте развивается в сторону увеличения скорости распространения информацию внутри сети. Приоритеты поменялись в этом направлении достаточно недавно, этим обусловлено, напимер, перенос выхода почтового сервиса Вконтакте, о котором очень активно говорили когда появилась возможность забивать себе текстовые URL. Сейчас этот подпроект имеет низкий приоритет и ждет своего часа, когда они смогут предложить что-то более удобное и быстрое, чем Gmail.   Источники:   Дополнительно на Genon.ru: |