Какие технологии используют Google и Facebook для их внутреннего и внешнего интерфейсов?
Каковы их технологии баз данных и языки, которые они используют для обработки исходных данных.
Какие технологии используют Google и Facebook для их внутреннего и внешнего интерфейсов?
Каковы их технологии баз данных и языки, которые они используют для обработки исходных данных.
Где используется Python?
- Система сборки Google написана на python. Все корпоративный код проверяется на репозитория и зависимость и создание этого кода управляется питон. Грег упомянул, что для создания code.google.com заняло около 100 строк кода python. Но поскольку это так многие зависимости, система сборки сгенерировал файл размером 3 мегабайта для это!
- Упаковка. У Google есть внутренний формат упаковки, такой как RPM. Эти пакеты создаются с использованием питон.
- Двоичные данные. Это область, где работает Алекс Мартелли, по оптимизации биений между тысячи серверов
- Серверы производства. Все мониторинг, перезапуск и данные функциональность коллекции выполняется с помощью питон
- Отчетность. Журналы анализируются и отчеты генерируются с использованием Python.
- Несколько сервисов, включая code.google.com и группы google. Большинство других интерфейсов находятся в С++ (google.com) и Java (gmail). Все веб-сервисы построены поверх оптимизированный HTTP-сервер, завернутый с SWIG.
Я могу сказать вам, что Facebook использует PHP в качестве слоя представления внешнего интерфейса, а бэкэнд в основном MySQL и (для поиска сообщений) Cassandra. Более подробную информацию можно найти здесь.
Google использует BigTable для внутреннего хранилища (я не знаю, используют ли они MySQL или другие технологии).
Google использует Map Reduce для обработки огромного количества данных. Facebook использует реализацию с открытым исходным кодом Map Reduce, называемую Hadoop.
Слышал слухи, что Facebook использует Erlang для своей системы обмена сообщениями: http://gregosuri.com/how-facebook-uses-erlang-for-real-time-chat
Facebook использует HBase для своей инфраструктуры обмена сообщениями. Приложите документ, опубликованный Facebook, о том, как они использовали HBase и их оптимизацию. Хорошо прочитано: http://sites.computer.org/debull/A12june/facebook.pdf
древовидные Google Google: Файловая система Google, BigTable и MapReduce
Поскольку вы спрашиваете об интерфейсе и интерфейсе, вы, возможно, заинтересованы в части между ними: как они взаимодействуют между разными системами.
Для этого Google и Facebook используйте Буферы протокола и Thrift соответственно.