Oglas

Kako deluje Facebook? Matice in vijaki [pojasnjena tehnologija] 0 uvod facebookSocialno mreženje je umetnost povezovanja s tistimi, ki imajo skupne interese. Vaša "mreža" je skupnost, ki vam pomaga, da ste združeni z drugimi in nudi številne prednosti. Mreženje prek spletnih strani družbenih medijev je spremenilo način uporabe interneta in je v ospredju tega, čemur danes pravimo Web 2.0.

Facebook je socialno mreženje. Ljudje se že približno 6 let družijo na facebooku Facebook najbolj uporabljano socialno omrežje z več kot 350 milijoni uporabnikov po vsem svetu. Kako pa deluje Facebook?

V tem članku bom obravnaval notranje delovanje Facebooka, ki ga pokriva arhitektura in frontend / backback infrastrukture "" matice in vijake, ki držijo Facebook skupaj.

Kako deluje Facebook? "" Sprednji del

Facebook uporablja različne storitve, orodja in programske jezike za sestavljanje svoje osnovne infrastrukture. Na sprednjem koncu njihovi strežniki poganjajo niz LAMP (Linux, Apache, MySQL in PHP) z Memcache. Ne poznavalec računalništva? Poglejmo, kaj točno to pomeni.

Linux in Apache

kako deluje facebook

Ta del je precej samoumeven. Linux je jedro računalniškega operacijskega sistema, kot je Unix. Je odprtokoden, zelo prilagodljiv in dober za varnost. Facebook na operacijskih sistemih Linux vodi strežnike Apache HTTP. Apač je tudi brezplačen in je najbolj priljubljen odprtokodni spletni strežnik v uporabi.

MySQL

kako deluje facebook

Facebook za bazo podatkov uporablja MySQL zaradi svoje hitrosti in zanesljivosti. MySQL se uporablja predvsem kot shramba ključ-vrednost, saj se podatki naključno porazdelijo med velik nabor logičnih primerov. Ti logični primeri so razporejeni po fizičnih vozliščih, izravnava obremenitve pa se izvede na ravni fizičnega vozlišča.

Kar zadeva prilagoditve, je Facebook razvil shemo particij po meri, v kateri je vsem podatkom dodeljen globalni ID. Imajo tudi shemo arhiviranja po meri, ki temelji na pogostosti in nedavnih podatkov na uporabnika. Večina podatkov je razporejena naključno.

PHP

kako deluje facebook

Facebook uporablja PHP, ker je dober spletni programski jezik z obsežno podporo in aktivno skupnostjo razvijalcev in je dober za hitro iteracijo. PHP je dinamično tipkan / interpretiran skriptni jezik.

Memcache

kako deluje facebook

Memcache je sistem za predpomnjenje pomnilnika, ki se uporablja za pospeševanje dinamičnih spletnih strani, ki jih poganjajo baze podatkov (kot je Facebook), s predpomnjenjem podatkov in predmetov v RAM-u, da se zmanjša čas branja. Memcache je glavna oblika Facebooka predpomnilnika in pomaga ublažiti nalaganje podatkovnih baz.

Sistem predpomnjenja omogoča, da bo Facebook tako hiter kot pri priklicu vaših podatkov. Če vam ni treba iti v bazo podatkov, bo le-te prejel vaše podatke iz predpomnilnika na podlagi vašega uporabniškega ID-ja.

Slabe strani uporabe LAMP

Facebook je spoznal, da pri uporabi sklada LAMP obstajajo slabe strani. Zlasti PHP ni nujno optimiziran za velika spletna mesta in ga zato težko spreminja. Prav tako ni najhitreje izvršljiv jezik in je razširitveni okvir težko uporabiti.

kako deluje facebook

Mike Schroepfer, Facebookov podpredsednik za inženiring, je pred kratkim opravil intervju pri EmTech @ MIT v zvezi s tem. "Spreminjanje obsega na katerem koli spletnem mestu je izziv," je dejal Schroepfer, "toda spreminjanje obsega družbenega omrežja ima edinstvene izzive."

Nadalje je dejal, da za razliko od drugih spletnih mest ne morete samo dodati več strežnikov, da bi rešili težavo Facebookove "velike medsebojno povezane baze podatkov." Nove povezave se ves čas ustvarjajo zaradi aktivnosti uporabnika.

Facebook je tako hitro zrasel, da se pogosto srečujejo z vprašanji v zvezi s poizvedbami, predpomnjenjem in shranjevanjem podatkov. Njihova baza podatkov je ogromna in v veliki meri zapleteno. Zaradi tega je Facebook začel veliko odprtokodnih projektov in zalednih storitev.

Kako deluje Facebook? "" Zadnji del

Facebookove zaledne storitve so napisane v različnih programskih jezikih, vključno s C ++, Java, Python in Erlang. Njihova filozofija za ustvarjanje storitev je naslednja:

1. Ustvari storitev če je potrebno

2. Ustvarite okvir / nabor orodij za lažje ustvarjanje storitev

3. Za nalogo uporabite pravi programski jezik

Seznam vseh Facebook odprtokodnih dogodkov najdete tukaj. Govoril bom o nekaj bistvenih orodjih, ki jih je razvil Facebook.

Oprema (protokol)

Kako deluje Facebook? Matice in vijaki [Pojasnjena tehnologija] Varnost 7 fbSkrbljivost je lahek oddaljeni okvir za klicanje postopkov za razvoj razširljivih jezikovnih storitev. Thrift podpira C ++, PHP, Python, Perl, Java, Ruby, Erlang in druge. Hitro je, prihrani čas razvoja in zagotavlja delitev dela na visoko zmogljivih strežnikih in aplikacijah.

Scribe (dnevnik strežnik)

Piši je strežnik za združevanje podatkov dnevnika, ki se v realnem času pretaka s številnih drugih strežnikov. To je razširljiv okvir, ki je koristen za beleženje širokega niza podatkov. Zgrajena je na vrhu Thrifta.

Cassandra (baza podatkov)

kako deluje facebook

Cassandra je sistem za upravljanje baz podatkov, zasnovan za obdelavo velikih količin podatkov, razporejenih po številnih strežnikih. Pooblasti Facebook-ovo funkcijo Ibox Search in omogoča strukturirano shrambo ključ-vrednost s končno doslednostjo.

HipHop za PHP

HipHop za PHP je transformator izvorne kode za skriptno kodo PHP in je bil ustvarjen za shranjevanje strežniških virov. HipHop pretvori izvorno kodo PHP v optimizirano C ++. Po tem uporabi g ++, da ga sestavi v strojno kodo.

Zaključek

Na kratko, to je Facebook. Ta članek bi zlahka bil za 37 strani daljši, če bi se podrobneje opredelil, toda za odgovor na vprašanje "Kako deluje Facebook?" Mislim, da bo to dovolj. Če pogledate mimo vseh funkcij in novosti, je glavna ideja Facebooka resnično zelo osnovna, ”” ohranjati ljudi povezane. Facebook spozna moč socialnih omrežij in nenehno inovira, da bi njihove storitve ostale najboljše v poslu.

Ali se vam je zdel ta članek uporaben? Pustite svoje misli, komentarje in ideje spodaj!

Steve, menedžer skupnosti VaynerMedia, se navdušuje nad socialnimi mediji in oblikovanjem blagovnih znamk.