Обзор программных средств, используемого на Facebook, крупнейшем в мире сайте

При масштабах работы Facebook большинство традиционных подходов к обслуживанию веб-контента терпят неудачу или просто нецелесообразны. Для инженеров Facebook является проблемой идеальная работа сайта, не смотря на обработку запросов около половины миллиарда активных пользователей. В этой статье мы рассмотрим некоторое программное обеспечение и методы, которые они используют для достижения этой цели.
Проблема масштабирования Facebook
Прежде чем мы углубимся в детали, рассмотрим несколько фактов, которые дадут представление, с чем имеет дело проблема масштабирования:
- - Facebook обслуживает 570 миллиардов просмотров страниц в месяц (по данным Google Ad Planner).
- - На Facebook содержится больше фотографий, чем на всех остальных фотосайтах вместе взятых (включая сайты наподобие Flickr).
- - Ежемесячно загружается больше трех миллиардов фотографий.
- - Системы Facebook обслуживают 1,2 миллиона фотографий в секунду. Сюда не включаются фотографии, обслуживаемые Facebook CDN.
- - Более 25 миллиардов частей контента (обновления статуса, комментарии и т.п.) становятся доступными ежемесячно.
- - Facebook насчитывает более 30 000 серверов (и это количество в прошлом году!)
Программное обеспечение, помогающее в масштабировании Facebook
В некотором смысле, Facebook все еще LAMP-сайт (его разновидность), но ему пришлось измениться и расширить свои функции, чтобы включить множество других элементов и услуг, а также изменить подход к существующим.
Например:
- - Facebook все еще использует PHP, но имеет встроенный компилятор для него, так что он может быть преобразован в исполняемый код на серверах, повышая производительность.
- - Facebook использует Linux, но оптимизированный для собственных целей (особенно с точки зрения пропускной способности сети).
- - Facebook использует MySQL, но в первую очередь как постоянное хранилище ключа-значения, перемещая присоединение и логику на веб-сервера, так как там проще выполнить оптимизацию («на другой стороне» слоя Memcached).
.
Далее: Facebook — Memcached & PHP
Popularity: 2%
Этот материал находится на сайте http://compiling.ru
Оставьте свой отзыв