Reklaam

Kuidas Facebook töötab? Mutrid ja poldid [Technology Explained] 0 tutvustus facebookSuhtlusvõrgustikud on kunst, mis loob ühenduse loomise nendega, kellel on ühised huvid. Teie „võrgustik” on kogukond, mis aitab hoida teid teistega ühtsena ja pakub palju eeliseid. Võrgustike loomine sotsiaalmeedia saitide kaudu on murranud seda, kuidas me Internetti kasutame, ja on esirinnas selles, mida me nüüd nimetame Web 2.0.

Facebook on sotsiaalvõrgustik. Inimesed on juba umbes 6 aastat üksteist facebookimas käinud ja teinud Facebook enimkasutatud suhtlusvõrgustik üle 350 miljoni kasutajaga kogu maailmas. Kuid kuidas Facebook töötab?

Selles artiklis käsitlen Facebooki sisemist tööd, kattes selle arhitektuur ja esikülje infrastruktuur ”- mutrid ja poldid, mis hoiavad Facebooki koos.

Kuidas Facebook töötab? ”” Esiplaan

Oma põhiinfrastruktuuri moodustamiseks kasutab Facebook mitmesuguseid teenuseid, tööriistu ja programmeerimiskeeli. Esiservas töötavad nende serverid Memcache'iga LAMP (Linux, Apache, MySQL ja PHP) korstnad. Kas pole arvutiteaduste ekspert? Vaatame täpsemalt, mida see tähendab.

instagram viewer

Linux ja Apache

kuidas facebook töötab?

See osa on üsna iseenesest mõistetav. Linux on Unixi-tüüpi arvuti opsüsteemi kernel. See on avatud lähtekoodiga, väga kohandatav ja turvalisuse tagamiseks hea. Facebook juhib Linuxi opsüsteemi Apache HTTP-serverites. Apache on ka tasuta ja on populaarseim kasutatav avatud lähtekoodiga veebiserver.

MySQL

kuidas facebook töötab?

Andmebaasi jaoks kasutab Facebook MySQL-i kiiruse ja usaldusväärsuse tõttu. MySQL kasutatakse peamiselt võtmeväärtuse salvestusruumina, kuna andmed on juhuslikult jaotatud suure hulga loogiliste eksemplaride vahel. Need loogilised juhtumid on jaotatud füüsiliste sõlmede vahel ja koormuse tasakaalustamine toimub füüsilise sõlme tasemel.

Kohandamiste osas on Facebook välja töötanud kohandatud jaotusskeemi, milles kõigile andmetele omistatakse globaalne ID. Neil on ka kohandatud arhiveerimise skeem, mis põhineb sellel, kui sagedased ja uuemad andmed on kasutaja kohta. Enamik andmeid jaotatakse juhuslikult.

PHP

kuidas facebook töötab?

Facebook kasutab PHP-d, kuna see on hea veebiprogrammeerimiskeel, millel on ulatuslik tugi ja aktiivne arendajakogukond ning see on hea kiireks iteratsiooniks. PHP on dünaamiliselt trükitud / tõlgendatud skriptikeel.

Memcache

kuidas facebook töötab

Memcache on mälu vahemällu salvestamise süsteem, mida kasutatakse dünaamiliste andmebaasipõhiste veebisaitide (näiteks Facebooki) kiirendamiseks andmete ja objektide vahemällu salvestamisega RAM-is, et vähendada lugemisaega. Memcache on Facebooki peamine vahemällu salvestamise vorm ja aitab leevendada andmebaasi koormust.

Vahemällusüsteemi olemasolu võimaldab Facebookil olla sama kiire kui teie andmete meenutamine. Kui see ei pea andmebaasi minema, tõmbab ta teie kasutajatunnuse põhjal lihtsalt vahemälus olevad andmed.

Varjukülg on LAMP-i kasutamine

Facebook on mõistnud, et LAMP-virna kasutamisel on varjukülgi. Nimelt ei ole PHP tingimata optimeeritud suurte veebisaitide jaoks ja seetõttu on seda raske skaleerida. Samuti pole see kõige kiiremini täidesaatev keel ja laiendraamistikku on keeruline kasutada.

kuidas facebook töötab

Mike Schroepfer, Facebooki inseneri asepresident tegi hiljuti intervjuu saidil EmTech @ MIT selle kohta. "Mis tahes veebisaidi muutmine on väljakutse," ütles Schroepfer, "kuid sotsiaalse võrgustiku muutmiseks on ainulaadseid väljakutseid."

Ta jätkas, et erinevalt teistest veebisaitidest ei saa probleemi lahendamiseks lihtsalt rohkem servereid lisada, kuna Facebooki “tohutult ühendatud andmestikust”. Kasutajate aktiivsuse tõttu luuakse kogu aeg uusi ühendusi.

Facebook on kasvanud nii kiiresti, et nad seisavad sageli silmitsi andmebaasipäringute, vahemällu salvestamise ja andmete säilitamise probleemidega. Nende andmebaas on tohutu ja suuresti keeruline. Selle arvessevõtmiseks on Facebook käivitanud palju avatud lähtekoodiga projekte ja taustateenuseid.

Kuidas Facebook töötab? ”” Tagaosa

Facebooki taustateenused on kirjutatud paljudes erinevates programmeerimiskeeltes, sealhulgas C ++, Java, Python ja Erlang. Nende teenuste loomise filosoofia on järgmine:

1. Looge teenus vajadusel

2. Teenuste hõlpsamaks loomiseks looge raamistik / tööriistakomplekt

3. Kasutage ülesande jaoks õiget programmeerimiskeelt

Kõigi Facebooki avatud lähtekoodiga arengute loendi leiate siit. Arutlen mõnedest olulistest tööriistadest, mille Facebook on välja töötanud.

Säästlikkus (protokoll)

Kuidas Facebook töötab? Mutrid ja poldid [Technology Explained] 7 fb säästlikkusSäästlikkus on kerge kaugprotseduuride kõneraamistik laiendatavate keeltevaheliste teenuste arendamiseks. Thrift toetab C ++, PHP, Python, Perl, Java, Ruby, Erlang jt. See on kiire, säästab arendusaega ja tagab suure jõudlusega serverite ja rakenduste tööjaotuse.

Scribe (logiserver)

Kirjatükk on server reaalajas voogesitatud logiandmete koondamiseks paljudest teistest serveritest. See on skaleeritav raamistik, mis on kasulik paljude andmete registreerimiseks. See on üles ehitatud säästu peal.

Cassandra (andmebaas)

kuidas facebook töötab

Cassandra on andmebaasihaldussüsteem, mis on loodud töötlema suures koguses paljudesse serveritesse jaotatud andmeid. See annab funktsiooni Facebooki postkastiotsingu funktsioon ja pakub struktureeritud võtmeväärtuse poodi, millel on võimalik järjepidevus.

HipHop PHP jaoks

HipHop PHP jaoks on PHP skriptikoodi lähtekooditrafo ja see loodi serveriressursside säästmiseks. HipHop muudab PHP lähtekoodi optimeeritud C ++ -ks. Pärast seda kasutab g ++ masinkoodiks kompileerimiseks.

Järeldus

Lühidalt - see on Facebook. See artikkel võib hõlpsalt olla 37 lehekülge pikem, kui peaksin lähemalt uurima, kuid vastuseks küsimusele “Kuidas Facebook töötab?” Arvan, et sellest piisab. Kõigist funktsioonidest ja uuendustest mööda vaadates on Facebooki peamine idee väga lihtne ””, mis hoiab inimesi ühenduses. Facebook mõistab sotsiaalsete võrgustike tugevust ja on pidevalt uuenduslik, et hoida nende teenust ettevõttes parimal viisil.

Kas see artikkel oli teile kasulik? Jäta oma mõtted, kommentaarid ja ideed allpool!

VaynerMedia kogukonnajuht Steve tegeleb kirglikult sotsiaalmeedia ja brändide loomisega.