Как стать автором
Обновить

На чем работает Digg

Время на прочтение2 мин
Количество просмотров1.2K
Главный архитектор Digg.com Джо Стамп (Joe Stump) рассказал в корпоративном блоге о том, как на данный момент устроен и работает крупнейший новостной агрегатор, находящийся на 142 месте по посещаемости в рейтинге Alexa.com.



«Если вы спросите Рона, нашего главного системного инженера, о том, сколько у нас сейчас работает серверов», — говорит Джо, — «он скорее всего честно скажет, что не знает». Совершенно точно, что есть 6 серверов графовой БД для механизма рекомендаций — сложного математического алгоритма, который подсказывает читателям новости, которые могут показаться им интересными. Графовая СУБД была разработана специалистами Digg специально для этой цели, так как привычные реляционные для нее не годились. Есть 6 файл-серверов для картинок под управлением MogileFS. В сумме количество машин исчисляется десятками. Но число серверов — не самое интересное, что можно узнать об архитектуре Digg.

Первое, что встречает на своем пути запрос пользователя — это серверы балансировки нагрузки. Они выполняют несколько задач: следят за кластером приложений и вводят/выводят его составляющие по необходимости, распределяют запросы по серверам кластера и кэшируют JavaScript, CSS и картинки. В качестве свободного аналога этих серверов Джо советует Linux Virtual Server и Squid.

Серверы приложений разбиты на несколько демонов, включая Apache+PHP, Memcached и Gearman. Последние выступают в роли «дирижеров», раздавая запросы от приложений по наиболее доступным в данный момент серверам файлов и БД.

Интересно, что MogileFS, Memcached и Gearman — разработки компании Danga Interactive, создававшей их для Livejournal, еще когда тот принадлежал Бреду Фицпатрику. Купившая ее Six Apart переименовала ее в Livejournal Inc. Что с компанией стало дальше — известно всем.

База данных распределена между 4-мя master-серверами, за которыми закреплено по куче slave'ов. На master'ах происходят операции записи, на slave'ах — чтения. Все они работают под MySQL.
Теги:
Хабы:
Всего голосов 77: ↑75 и ↓2+73
Комментарии36

Публикации