Mainos

Kuinka Facebook toimii? Mutterit ja pultit [Technology Explained] 0 intro facebookSosiaalinen verkostoituminen on taito yhdistää niihin, joilla on yhteisiä etuja. 'Verkko' on yhteisö, joka auttaa pitämään sinut yhtenäisenä muiden kanssa ja tarjoaa monia etuja. Verkottuminen sosiaalisen median sivustojen välityksellä on mullistanut kuinka käytämme Internetiä ja on eturintamassa siihen, mitä nyt kutsumme Web 2.0: ksi.

Facebook On sosiaalinen verkostoituminen. Ihmiset ovat “facebooking” toisiaan noin 6 vuotta nyt, tekemässä Facebook eniten käytetty sosiaalinen verkosto, jolla on yli 350 miljoonaa käyttäjää ympäri maailmaa. Mutta miten Facebook toimii?

Tässä artikkelissa käsittelen Facebookin sisäistä toimintaa, joka kattaa sen arkkitehtuuri ja etu- / taustainfrastruktuuri ”” mutterit ja pultit, jotka pitävät Facebookia yhdessä.

Kuinka Facebook toimii? ”” Käyttöliittymä

Facebook käyttää erilaisia ​​palveluita, työkaluja ja ohjelmointikieliä perusinfrastruktuurinsa muodostamiseen. Etupäässä heidän palvelimillaan on LAMP (Linux, Apache, MySQL ja PHP) -pino Memcachen kanssa. Etkö tietotekniikan asiantuntija? Katsotaanpa tarkalleen, mitä tämä tarkoittaa.

Linux ja Apache

miten facebook toimii

Tämä osa on melko itsestään selvä. Linux on Unixin kaltainen tietokoneen käyttöjärjestelmäydin. Se on avoimen lähdekoodin, hyvin muokattavissa ja hyvä turvallisuudelle. Facebook käyttää Linux-käyttöjärjestelmää Apache HTTP -palvelimissa. Apache on myös ilmainen ja on suosituin avoimen lähdekoodin palvelin käytössä.

MySQL

miten facebook toimii

Facebook käyttää tietokantaan MySQL: tä nopeuden ja luotettavuuden vuoksi. MySQL Käytetään ensisijaisesti avain-arvovarastona, koska tiedot on jaoteltu satunnaisesti suurelle joukolle loogisia esiintymiä. Nämä loogiset esiintymät on hajautettu fyysisiin solmuihin ja kuorman tasapainotus tehdään fyysisellä solmutasolla.

Mukauttamisten osalta Facebook on kehittänyt mukautetun osiointijärjestelmän, jossa kaikille tiedoille osoitetaan globaali tunnus. Heillä on myös mukautettu arkistointijärjestelmä, joka perustuu siihen, kuinka usein ja viimeisimmät tiedot ovat käyttäjää kohden. Suurin osa tiedoista jaetaan satunnaisesti.

PHP

miten facebook toimii

Facebook käyttää PHP: tä, koska se on hyvä web-ohjelmointikieli, jolla on laaja tuki ja aktiivinen kehittäjäyhteisö, ja se on hyvä nopeaan toistoon. PHP on dynaamisesti kirjoitettu / tulkittu skriptikieli.

memcache

miten facebook toimii

memcache on muistin välimuistijärjestelmä, jota käytetään nopeuttamaan dynaamisia tietokantapohjaisia ​​verkkosivustoja (kuten Facebook) välimuistiin tallentamalla tietoja ja objekteja RAM-muistissa lukemisajan vähentämiseksi. Memcache on Facebookin välimuistin päämuoto ja auttaa lievittämään tietokannan kuormitusta.

Välimuistijärjestelmän käyttäminen antaa Facebookin olla yhtä nopea kuin se on tietojen palauttamisessa. Jos sen ei tarvitse käydä tietokannassa, se vain hakee tietosi välimuistista käyttäjätunnuksesi perusteella.

Haittapuolia LAMP: n käyttämiselle

Facebook on huomannut, että LAMP-pinon käyttämisessä on epäkohtia. Erityisesti PHP: tä ei välttämättä ole optimoitu suurille verkkosivustoille, joten sitä on vaikea skaalata. Se ei myöskään ole nopein suorituskieli, ja laajennuskehystä on vaikea käyttää.

miten facebook toimii

Mike Schroepfer, Facebookin tekniikan johtaja, teki äskettäin haastattelun EMTECH @ MIT tästä. "Minkä tahansa verkkosivuston skaalaaminen on haaste", Schroepfer sanoi, "mutta sosiaalisen verkoston skaalaamisella on ainutlaatuisia haasteita."

Hän jatkoi, että toisin kuin muut sivustot, et voi vain lisätä uusia palvelimia ongelman ratkaisemiseksi, koska Facebookin "valtavasta toisiinsa kytketystä aineistosta". Uusia yhteyksiä luodaan jatkuvasti käyttäjän toiminnan takia.

Facebook on kasvanut niin nopeasti, että he kohtaavat usein tietokantakyselyihin, välimuistiin tallentamiseen ja tietojen tallentamiseen liittyviä ongelmia. Heidän tietokantaansa on valtava ja suurelta osin monimutkainen. Tämän huomioon ottamiseksi Facebook on käynnistänyt paljon avoimen lähdekoodin projekteja ja taustapalveluita.

Kuinka Facebook toimii? ”” Takaosa

Facebookin taustapalvelut on kirjoitettu useilla eri ohjelmointikielillä, kuten C ++, Java, Python ja Erlang. Heidän filosofia palvelujen luomiseen on seuraava:

1. Luo palvelu tarvittaessa

2. Luo kehys / työkalusarja palveluiden luomisen helpottamiseksi

3. Käytä tehtävään oikeaa ohjelmointikieltä

Luettelo kaikista Facebookin avoimen lähdekoodin kehityksistä löytyy täältä. Aion keskustella muutamista tärkeimmistä työkaluista, joita Facebook on kehittänyt.

Säästö (protokolla)

Kuinka Facebook toimii? Mutterit ja pultit [tekniikka selitetty] 7 fb: n säästöSäästäväisyys on kevyt etäprosessipuhelukehys skaalautuvalle monikielisille palveluille. Säästö tukee C ++, PHP, Python, Perl, Java, Ruby, Erlang ja muut. Se on nopea, säästää kehitysaikaa ja tarjoaa työnjaon tehokkaisiin palvelimiin ja sovelluksiin.

Kirjoittaja (lokipalvelin)

Kirjuri on palvelin reaaliaikaisesti suoratoistettujen lokitietojen yhdistämiseksi monista muista palvelimista. Se on skaalautuva kehys, joka on hyödyllinen monenlaisten tietojen kirjaamiseen. Se on rakennettu säästämisen päälle.

Cassandra (tietokanta)

miten facebook toimii

Cassandra on tietokannan hallintajärjestelmä, joka on suunniteltu käsittelemään suuria määriä tietoja, jotka on hajautettu monille palvelimille. Se käyttää Facebookin Saapuneet-hakuominaisuutta ja tarjoaa jäsennellyn avain-arvovaraston, jolla on mahdollisesti johdonmukaisuus.

HipHop PHP: lle

HipHop PHP: lle on PHP-komentosarjan lähdekoodimuuntaja, ja se luotiin palvelinresurssien tallentamiseksi. HipHop muuttaa PHP: n lähdekoodin optimoiduksi C ++: ksi. Tämän jälkeen se komentaa g ++: n konekoodiksi.

johtopäätös

Lyhyesti sanottuna se on Facebook. Tämä artikkeli voi helposti olla 37 sivua pidempi, jos haluaisin käydä tarkemmin, mutta vastata kysymykseen “Kuinka Facebook toimii?” Mielestäni tämä riittää. Jos tarkastelemme kaikkia ominaisuuksia ja innovaatioita ohi, Facebookin taustalla oleva ajatus on todella perustiedot ”pitää ihmiset yhteydessä. Facebook ymmärtää sosiaalisen verkostoitumisen voiman ja on jatkuvasti innovaatioita pitääkseen heidän palvelunsa parhaana liiketoiminnassa.

Löysitkö tämän artikkelin hyödyllisenä? Jätä ajatuksesi, kommenttisi ja ideasi alla!

VaynerMedian yhteisöpäällikkö Steve on intohimoinen sosiaaliseen mediaan ja brändin rakentamiseen.