реклама

Как работи Facebook? Гайки и болтове [обяснена технология] 0 интро фейсбукСоциалните мрежи са изкуството да се свързваш с тези, които споделят общи интереси. Вашата „мрежа“ е общност, която ви помага да сте обединени с другите и предлага много предимства. Мрежата чрез сайтове за социални медии промени революцията в това как използваме Интернет и е начело на това, което сега наричаме Web 2.0.

Facebook е социални мрежи. Хората са "във фейсбук" помежду си от около 6 години, което прави Facebook най-използваната социална мрежа с над 350 милиона потребители по целия свят. Но как работи Facebook?

В тази статия ще разгледам вътрешната работа на Facebook, която ще обхване нейната работа архитектура и frontend / backkend инфраструктура ”” гайките и болтовете, които държат Facebook заедно.

Как работи Facebook? ”” Предният край

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

instagram viewer

Linux и Apache

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

Тази част е доста обяснима. Linux е ядро ​​на подобна на Unix компютърна операционна система. Той е с отворен код, много адаптивен и добър за сигурността. Facebook управлява операционната система Linux на Apache HTTP сървъри. Apache също е безплатен и е най-популярният уеб сървър с отворен код в употреба.

MySQL

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

За базата данни Facebook използва MySQL поради неговата скорост и надеждност. MySQL се използва главно като хранилище на ключови стойности, тъй като данните се разпределят на случаен принцип между голям набор от логически екземпляри. Тези логически екземпляри са разпределени във физически възли и балансирането на натоварването се извършва на ниво физически възел.

Що се отнася до персонализирането, Facebook разработи схема за персонализиран дял, при която на всички данни е присвоен глобален идентификатор. Те също имат персонализирана схема за архивиране, която се основава на честотата и скорошните данни за всеки потребител. Повечето данни се разпределят на случаен принцип.

PHP

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

Facebook използва PHP, защото е добър език за уеб програмиране с широка поддръжка и активна общност на програмисти и е добър за бърза итерация. PHP е динамично въведен / интерпретиран скриптов език.

Memcache

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

Memcache е система за кеширане на памет, която се използва за ускоряване на динамични уеб сайтове, управлявани от база данни (като Facebook) чрез кеширане на данни и обекти в RAM, за да се намали времето за четене. Memcache е основната форма на кеширане във Facebook и помага за облекчаване на натоварването на базата данни.

Наличието на кешираща система позволява на Facebook да бъде толкова бърз, колкото при извикване на вашите данни. Ако не е необходимо да отивате в базата данни, той просто ще извлече данните ви от кеша на базата на потребителския ви идентификационен номер.

Недостатъци при използването на LAMP

Facebook разбра, че има недостатъци при използването на стека LAMP. По-специално, PHP не е непременно оптимизиран за големи уебсайтове и следователно е труден за мащабиране. Освен това той не е най-бързият език за изпълнение и рамката за разширения е трудна за използване.

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

Майк Шрьофер, вицепрезидент на Facebook по инженерство, наскоро направи интервю в EmTech @ MIT относно това. „Мащабирането на който и да е уебсайт е предизвикателство - каза Шрьофър,„ но мащабирането на социална мрежа има уникални предизвикателства. “

Той каза, че за разлика от други уебсайтове, не можете просто да добавите повече сървъри, за да разрешите проблема, защото от „огромния взаимосвързан набор от данни на Facebook“. Новите връзки се създават през цялото време поради активността на потребителя.

Facebook се разраства толкова бързо, че често се сблъскват с проблеми, свързани с заявки в базата данни, кеширане и съхранение на данни. Базата им е огромна и до голяма степен сложни. За да отчете това, Facebook започна много проекти с отворен код и бекенд услуги.

Как работи Facebook? ”” Задният край

Задните услуги на Facebook са написани на различни езици за програмиране, включително C ++, Java, Python и Erlang. Тяхната философия за създаване на услуги е следната:

1. Създайте услуга ако е необходимо

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

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

Списък на всички разработки с отворен код на Facebook можете да намерите тук. Ще обсъдя някои от основните инструменти, които Facebook е разработил.

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

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

Scribe (лог сървър)

книжник е сървър за агрегиране на лог данни, поточно в реално време от много други сървъри. Това е мащабируема рамка, полезна за регистриране на широк масив от данни. Той е изграден на върха на Thrift.

Касандра (база данни)

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

Касандра е система за управление на база данни, предназначена за работа с големи количества данни, разпространени на много сървъри. Той захранва функцията за търсене във входящи съобщения на Facebook и осигурява структуриран магазин с ключови стойности с евентуална последователност.

HipHop за PHP

HipHop за PHP е трансформатор на изходния код за PHP скрипт код и е създаден за запазване на сървърните ресурси. HipHop преобразува изходния код на PHP в оптимизиран C ++. След това прави g ++, за да го компилира в машинен код.

заключение

С две думи, това е Facebook. Тази статия лесно би могла да бъде с 37 страници по-дълга, ако искам да опитам по-подробно, но за да отговоря на въпроса „Как работи Facebook?“ Мисля, че това ще е достатъчно. Ако погледнете покрай всички функции и иновации, основната идея зад Facebook е наистина много основна ”” поддържане на хората свързани. Facebook осъзнава силата на социалните мрежи и непрекъснато иновации, за да поддържа услугата им най-добрата в бизнеса.

Смятате ли, че тази статия е полезна? Оставете своите мисли, коментари и идеи по-долу!

Стив, мениджър на общността във VaynerMedia, е страстен за социалните медии и изграждането на марка.