Skelbimas

Kaip veikia „Facebook“? Veržlės ir varžtai [Technologijų paaiškinimas] 0 įvadas facebookSocialiniai tinklai yra bendravimo su tais, kurie turi bendrų interesų, menas. Jūsų „tinklas“ yra bendruomenė, padedanti išlaikyti jūsų vienybę su kitais ir siūlanti daugybę privalumų. Tinklų kūrimas per socialinės žiniasklaidos svetaines sukėlė revoliuciją, kaip mes naudojame internetą, ir yra to, ką mes dabar vadiname „Web 2.0“, priešakyje.

Facebook yra Socialinis tinklas. Žmonės jau vienus metus „facebook“ feisbuke rašo apie 6 metus Facebook labiausiai naudojamas socialinis tinklas, turintis daugiau nei 350 milijonų vartotojų visame pasaulyje. Bet kaip veikia „Facebook“?

Šiame straipsnyje aptarsiu „Facebook“ vidinius veiksmus, apimančius jo veiklą architektūra „Frontend / backend“, „“ veržlės ir varžtai, laikantys „Facebook“ kartu.

Kaip veikia „Facebook“? “

„Facebook“ naudoja įvairias paslaugas, įrankius ir programavimo kalbas, kad sudarytų pagrindinę savo infrastruktūrą. Priekyje jų serveriai paleidžia LAMP (Linux, Apache, MySQL ir PHP) paketą su Memcache. Ar ne informatikos ekspertas? Pažvelkime tiksliai, ką tai reiškia.

instagram viewer

„Linux“ ir „Apache“

kaip veikia facebook

Ši dalis yra gana savaime suprantama. „Linux“ yra „Unix“ tipo kompiuterio operacinės sistemos branduolys. Tai atvirasis šaltinis, labai lengvai pritaikomas ir tinkamas saugumui. „Facebook“ veikia „Linux“ operacinė sistema „Apache“ HTTP serveriuose. Apache taip pat yra nemokamas ir yra populiariausias naudojamas atvirojo kodo žiniatinklio serveris.

„MySQL“

kaip veikia facebook

Dėl duomenų bazės „Facebook“ naudoja greitą ir patikimą „MySQL“. „MySQL“ pirmiausia naudojamas kaip pagrindinės vertės kaupiklis, nes duomenys atsitiktine tvarka paskirstomi dideliam kiekiui loginių egzempliorių. Šie loginiai egzemplioriai yra paskirstyti po fizinius mazgus, o apkrovos balansavimas atliekamas fizinio mazgo lygiu.

Kalbant apie tinkinimus, „Facebook“ sukūrė pasirinktinę skaidymo schemą, kurioje visiems duomenims priskiriamas globalus ID. Jie taip pat turi pasirinktinę archyvavimo schemą, pagrįstą tuo, kaip dažnai ir naujausi duomenys yra kiekvieno vartotojo pagrindu. Dauguma duomenų yra paskirstomi atsitiktine tvarka.

PHP

kaip veikia facebook

„Facebook“ naudoja PHP, nes ji yra gera žiniatinklio programavimo kalba, turinti platų palaikymą ir aktyvią kūrėjų bendruomenę, ir ji yra tinkama greitam iteravimui. PHP yra dinamiškai įvesta / interpretuojama scenarijų kalba.

Memcache

kaip veikia facebook

Memcache yra atminties talpyklos sistema, naudojama pagreitinti dinamiškas duomenų bazių valdomas svetaines (pvz., „Facebook“) kaupiant talpykloje duomenis ir objektus RAM, siekiant sumažinti skaitymo laiką. „Memcache“ yra pagrindinė „Facebook“ talpyklos forma ir padeda sumažinti duomenų bazės įkėlimą.

Talpyklos išsaugojimo sistema leidžia „Facebook“ veikti taip greitai, kaip ir norint prisiminti jūsų duomenis. Jei jai nereikia eiti į duomenų bazę, ji tiesiog sugeneruos jūsų duomenis iš talpyklos pagal jūsų vartotojo ID.

Neįmanoma naudoti LAMP

„Facebook“ suprato, kad yra žlugdantis LAMP kamino naudojimas. Pabrėžtina, kad PHP nebūtinai yra optimizuotas didelėms svetainėms, todėl yra sunkiai pritaikomas. Be to, tai nėra greičiausia vykdančioji kalba, o plėtinio struktūrą sunku naudoti.

kaip veikia facebook

Mike'as Schroepferis, „Facebook“ inžinerijos viceprezidentas, neseniai padarė interviu „EmTech @ MIT“ dėl to. „Bet kurios svetainės mastelio keitimas yra iššūkis, - teigė Schroepferis, - tačiau socialinio tinklo masto didinimas turi unikalių iššūkių“.

Toliau jis sakė, kad skirtingai nuo kitų svetainių, jūs negalite tiesiog pridėti daugiau serverių, kad išspręstumėte problemą, nes „Facebook“ „didžiulio sujungto duomenų rinkinio“. Dėl vartotojo aktyvumo visą laiką kuriamos naujos jungtys.

„Facebook“ išaugo taip greitai, kad jie dažnai susiduria su problemomis dėl duomenų bazių užklausų, talpyklos kaupimo ir duomenų saugojimo. Jų duomenų bazė yra didžiulė ir daugiausia sudėtinga. Norėdami tai įvertinti, „Facebook“ pradėjo daugybę atvirojo kodo projektų ir vidinių paslaugų.

Kaip veikia „Facebook“? “„ Atgalinė dalis

„Facebook“ programos yra parašytos įvairiomis programavimo kalbomis, įskaitant „C ++“, „Java“, „Python“ ir „Erlang“. Jų filosofija kuriant paslaugas yra tokia:

1. Sukurkite paslaugą Jei reikia

2. Sukurkite sistemą / įrankių rinkinį, kad būtų lengviau kurti paslaugas

3. Užduočiai naudokite tinkamą programavimo kalbą

Visų „Facebook“ atvirojo kodo pokyčių sąrašą galite rasti čia. Aptarsiu keletą esminių įrankių, kuriuos sukūrė „Facebook“.

Taupymas (protokolas)

Kaip veikia „Facebook“? Veržlės ir varžtai [technologijos paaiškinta] 7 fb taupumasTaupymas yra lengvas nuotolinių procedūrų kvietimas, skirtas patobulinamoms įvairių kalbų paslaugų plėtrai. „Thrift“ palaiko C ++, PHP, Python, Perl, Java, Ruby, Erlang ir kt. Tai greita, taupo kūrimo laiką ir suteikia darbo pasidalijimą aukštos kokybės serveriuose ir programose.

Raštininkas (prisijungimo serveris)

Raštininkas yra serveris, skirtas kaupti žurnalo duomenis, perduodamus realiuoju laiku iš daugelio kitų serverių. Tai yra keičiamo dydžio sistema, naudinga registruojant įvairius duomenis. Jis pastatytas ant „Thrift“ viršaus.

Cassandra (duomenų bazė)

kaip veikia facebook

Kasandra yra duomenų bazių valdymo sistema, skirta tvarkyti didelius duomenų kiekius, paskirstytus daugelyje serverių. Tai suteikia „Facebook“ funkciją „Gautųjų paieška“ ir suteikia struktūrizuotą pagrindinės vertės parduotuvę, kurioje galimas nuoseklumas.

HipHop PHP

HipHop PHP yra PHP scenarijaus kodo transformatorius ir buvo sukurtas serverio ištekliams išsaugoti. „HipHop“ paverčia PHP šaltinio kodą optimizuotu C ++. Tai padaręs, jis naudoja g ++, kad sudarytų mašininį kodą.

Išvada

Trumpai tariant, tai yra „Facebook“. Šis straipsnis gali būti lengvai 37 puslapių ilgesnis, jei gilinčiauosi į detalesnį klausimą, tačiau norėčiau atsakyti į klausimą „Kaip veikia„ Facebook “?“ Manau, kad to užteks. Jei pažvelgsite į visas savybes ir naujoves, pagrindinė „Facebook“ idėja yra tikrai pagrindinė “, - palaikyti ryšį su žmonėmis. „Facebook“ supranta socialinių tinklų galią ir nuolatos kuria naujoves, kad jų paslaugos būtų geriausios versle.

Ar jums šis straipsnis buvo naudingas? Palikite savo mintis, komentarus ir idėjas žemiau!

Steve, „VaynerMedia“ bendruomenės vadovas, aistringai domisi socialine žiniasklaida ir prekės ženklo kūrimu.