Объяснение технологий

Как работает Facebook? Гайки и болты [объясненная технология]

Как работает Facebook? Гайки и болты [объясненная технология]

<firstimage = ”// static..com/wp-content/uploads/2010/02/0-intro-facebook.PNG” /> Как работает Facebook? Гайки и болты [объясненная технология] 0 intro facebook Социальные сети — это искусство общения с теми, кто разделяет общие интересы. Ваша «сеть» — это сообщество, которое помогает вам объединиться с другими и предлагает множество преимуществ. Сеть через сайты социальных сетей произвела революцию в том, как мы используем Интернет, и находится на переднем крае того, что мы сейчас называем Web 2.0.

Разблокируйте бесплатный «Контрольный список безопасности Facebook» сейчас!

Это подпишет вас на нашу рассылку

Введите адрес электронной почты

Facebook это социальная сеть. Уже 6 лет люди «общаются» на Facebook , что делает Facebook самой популярной социальной сетью с более чем 350 миллионами пользователей по всему миру. Но как работает Facebook?

В этой статье я расскажу о внутренней работе Facebook, охватывающей его архитектуру и инфраструктуру внешнего интерфейса / бэкэнда », -« основные моменты, которые объединяют Facebook.

Как работает Facebook? »

Facebook использует различные сервисы, инструменты и языки программирования для создания своей основной инфраструктуры. Во внешнем интерфейсе их серверы запускают стек LAMP (Linux, Apache, MySQL и PHP) с Memcache. Не специалист по информатике? Давайте посмотрим, что именно это означает.

Linux и Apache

как работает фейсбук

Эта часть довольно понятна. Linux — это Unix-подобное ядро ​​операционной системы компьютера. Это открытый исходный код, очень настраиваемый, и хорошо для безопасности. Facebook работает под управлением операционной системы Linux на HTTP-серверах Apache. Apache также бесплатен и является самым популярным веб-сервером с открытым исходным кодом в использовании.

MySQL

как работает фейсбук

Для базы данных Facebook использует MySQL из-за его скорости и надежности. MySQL используется главным образом как хранилище значений ключей, поскольку данные случайным образом распределяются среди большого набора логических экземпляров. Эти логические экземпляры распределены по физическим узлам, и распределение нагрузки выполняется на уровне физических узлов.

Что касается настроек, Facebook разработал собственную схему разделения, в которой глобальный идентификатор присваивается всем данным. У них также есть настраиваемая схема архивации, основанная на частоте и актуальности данных для каждого пользователя. Большая часть данных распределяется случайным образом.

PHP

как работает фейсбук

Facebook использует PHP, потому что это хороший язык веб-программирования с обширной поддержкой и активным сообществом разработчиков, и он хорош для быстрой итерации. PHP — это динамически типизированный / интерпретируемый язык сценариев.

Memcache

как работает фейсбук

Memcache — это система кеширования памяти, которая используется для ускорения динамических веб-сайтов, управляемых базой данных (например, Facebook), путем кеширования данных и объектов в оперативной памяти для сокращения времени чтения. Memcache является основной формой кеширования Facebook и помогает снизить нагрузку на базу данных.

Наличие системы кеширования позволяет Facebook работать так же быстро, как и при вызове ваших данных. Если ему не нужно идти в базу данных, он просто извлечет ваши данные из кэша на основе вашего идентификатора пользователя.

Недостатки использования лампы

Facebook осознал, что использование стека LAMP имеет свои недостатки. Примечательно, что PHP не обязательно оптимизирован для больших веб-сайтов и поэтому трудно масштабируется. Кроме того, это не самый быстрый исполняемый язык, и структура расширения сложна в использовании.

как работает фейсбук

Майк Шропфер, вице-президент Facebook по инженерным вопросам, недавно дал интервью на EmTech @ MIT по этому поводу. «Масштабирование любого веб-сайта является сложной задачей, — сказал Шрепфер, — но масштабирование социальной сети сопряжено с уникальными проблемами».

Далее он сказал, что в отличие от других веб-сайтов, вы не можете просто добавить больше серверов для решения проблемы из-за «огромного взаимосвязанного набора данных Facebook». Новые соединения создаются постоянно из-за активности пользователей.

Facebook вырос настолько быстро, что они часто сталкиваются с проблемами, связанными с запросами к базе данных, кэшированием и хранением данных. Их база данных огромна и в значительной степени сложна . Чтобы объяснить это, Facebook запустил множество проектов с открытым исходным кодом и бэкэнд-сервисов.

Как работает Facebook? »

Бэкэнд-сервисы Facebook написаны на разных языках программирования, включая C ++, Java, Python и Erlang. Их философия создания услуг заключается в следующем:

1. Создайте сервис, если это необходимо

2. Создайте структуру / набор инструментов для более легкого создания сервисов.

3. Используйте правильный язык программирования для задачи

Список всех разработок с открытым исходным кодом Facebook можно найти здесь. Я расскажу о нескольких основных инструментах, разработанных Facebook.

Экономия (протокол)

Как работает Facebook? Гайки и болты [объясненная технология] 7 fb thrift Thrift — это легковесная инфраструктура удаленного вызова процедур для разработки масштабируемых кросс-языковых сервисов. Thrift поддерживает C ++, PHP, Python, Perl, Java, Ruby, Erlang и другие. Это быстро, экономит время разработки и обеспечивает разделение труда на высокопроизводительных серверах и приложениях.

Писец (лог-сервер)

Scribe — это сервер для агрегирования данных журнала, передаваемых в реальном времени со многих других серверов. Это масштабируемая структура, полезная для регистрации широкого спектра данных. Он построен на вершине Thrift.

Кассандра (база данных)

как работает фейсбук

Cassandra — это система управления базами данных, предназначенная для обработки больших объемов данных, распределенных по многим серверам. Он поддерживает функцию «Входящие» в Facebook и обеспечивает структурированное хранилище значений ключей с возможной согласованностью.

Хип-хоп для PHP

HipHop for PHP — это преобразователь исходного кода для кода PHP-скрипта, созданный для экономии ресурсов сервера. HipHop преобразует исходный код PHP в оптимизированный C ++. После этого он использует g ++ для компиляции в машинный код.

Вывод

Короче говоря, это Facebook. Эта статья могла бы легко быть на 37 страниц длиннее, если бы я хотел вдаваться в подробности, но чтобы ответить на вопрос «Как работает Facebook?» Я думаю, этого будет достаточно. Если вы посмотрите на все функции и инновации, основная идея Facebook действительно очень проста », — чтобы люди оставались на связи. Facebook осознает всю мощь социальных сетей и постоянно вводит новшества, чтобы сохранить их сервис лучшим в бизнесе.

Вам помогла данная статья? Оставьте свои мысли, комментарии и идеи ниже!

Похожие посты
Объяснение технологий

Как работает жесткий диск? [Технология объяснила]

Объяснение технологий

Что такое программное обеспечение с открытым исходным кодом? [MakeUseOf Объясняет]

Объяснение технологий

Разрешения графического дисплея - что означают цифры? [MakeUseOf Объясняет]

Объяснение технологий

Как переформатировать внешний жесткий диск, не теряя на нем все