4. Facebook
– Linux — операционная система
– PHP с HipHop — код на PHP компилируется в C++
– memcached — агрессивное кэширование объектов
– MySQL — используется как хранилище пар ключ-
значение, никаких join'ов
– Thrift — интерфейс взаимодействия между сервисами,
написанными на разных языках программирования
– Scribe — универсальная система сбора и агрегации
данных с рабочих серверов
5. Facebook - Статистика
- Более 200 миллиардов просмотров страниц в месяц
- Более 150 миллионов обращений к кэшу в секунду; 2 триллиона
объектов в кэше
- Более 200 миллиардов просмотров страниц в месяц
- До 1.2 миллиона фотографий в секунду
- 20 миллиардов фотографий в 4 разрешениях = 80 миллиардов
фотографий, их бы хватило чтобы покрыть поверхность земли в 10
слоев
- Более миллиарда сообщений в чате каждый день
- Десятки тысяч серверов, десятки гигабит трафика
Данные на 2011 год
7. Статистика - Twitter
- Миллиард твитов за неделю
- 175 миллионов зарегистрированных пользователей на сентябрь 2010
года
- 460 000 новых регистраций пользователей в день
- 9й сайт в мире по популярности (по данным Alexa, год назад был на 12
месте)
- 600 миллионов поисков в день
- Лишь 25% трафика приходится на веб сайт, остальное идет через API
- 6 миллиардов запросов к API в день, около 70 тысяч в секунду
http://blog.twitter.com/2011/03/numbers.html
10. Instagram - Статистика
Сегодня:
●
100+ миллионов пользователей
●
40 миллионов фотографий в день
●
8500 Лайков в секунду
●
1000 Комментариев в секунду
●
Миллион регистраций за 12 часов после запуска Android-
версии
●
5 разработчиков
12. Wikipedia - Статистика
●
8 миллионов статей распределены по сотням языковых
подпроектов
●
В десятке самых высоконагруженных проектов по
данным Alexa
●
Удвоение трафика происходит каждые 4-6 месяцев
●
30000 HTTP запросов в секунду в периоды пиковой
нагрузки
●
3 GBps трафик данных
●
350 серверов, конфигурации варьируются от
однопроцессорных Pentium 4 до двухпроцессорных Xeon.
●
Управляется ~6 людьми
13. Что у них общего ?
Они не самые бедные
и все они
исспользуют Open Source
свободно распростаняемое ПО !
(сервера, базы данных и тд...)
14. Критерии выбора ПО и
платформы
●
Производительность
●
Отказоустойчивость
●
Безопасность
●
Стоимость масштабирования
●
Стоимость обслуживания
15. Для массовых проектов с большим
количеством пользователей более
выгодны
Операционные системы:
Linux, FreeBSD
Языки программирования:
Python, Ruby, Java, C/C++, Mono C#
Базы данных и хранилища:
PostgreSQL, MySQL, MongoDB, Redis