Reklāma

Kā darbojas Facebook? Uzgriežņi un bultskrūves [skaidrojums par tehnoloģijām] 0 intro facebookSociālais tīkls ir saziņa ar cilvēkiem, kuriem ir kopīgas intereses. Jūsu “tīkls” ir kopiena, kas palīdz uzturēt jūs vienotībā ar citiem un piedāvā daudzas priekšrocības. Tīklu veidošana, izmantojot sociālo mediju vietnes, ir radījusi revolūciju, kā mēs izmantojam internetu, un ir priekšplānā tam, ko mēs tagad saucam par Web 2.0.

Facebook ir sociālie tīkli. Cilvēki jau aptuveni 6 gadus savstarpēji facebooking ir veidojuši Facebook visvairāk izmantotais sociālais tīkls ar vairāk nekā 350 miljoniem lietotāju visā pasaulē. Bet kā darbojas Facebook?

Šajā rakstā es apskatīšu Facebook iekšējo darbību, aptverot to arhitektūra un fasādes / aizmugurējās infrastruktūras ”” uzgriežņi un skrūves, kas satur Facebook kopā.

Kā darbojas Facebook? ”“ Front End

Lai izveidotu savu galveno infrastruktūru, Facebook izmanto dažādus pakalpojumus, rīkus un programmēšanas valodas. Priekšējā galā viņu serveri palaiž LAMP (Linux, Apache, MySQL un PHP) steku ar Memcache. Vai neesat datorzinātņu eksperts? Apskatīsim tieši to, ko tas nozīmē.

instagram viewer

Linux un Apache

kā darbojas facebook

Šī daļa ir diezgan pašsaprotama. Linux ir Unix līdzīgs datoru operētājsistēmas kodols. Tas ir atvērts avots, ļoti pielāgojams un labs drošībai. Facebook palaiž Linux operētājsistēmu Apache HTTP serveros. Apache ir arī bezmaksas un ir vispopulārākais izmantotais atvērtā koda tīmekļa serveris.

MySQL

kā darbojas facebook

Datubāzei Facebook izmanto MySQL ātruma un uzticamības dēļ. MySQL galvenokārt tiek izmantots kā galvenās vērtības krātuve, jo dati tiek nejauši sadalīti starp lielu loģisko gadījumu kopu. Šie loģiskie gadījumi ir sadalīti pa fiziskiem mezgliem, un slodzes līdzsvarošana tiek veikta fiziskā mezgla līmenī.

Ciktāl tas attiecas uz pielāgojumiem, Facebook ir izstrādājis pielāgotu nodalīšanas shēmu, kurā visiem datiem tiek piešķirts globālais ID. Viņiem ir arī pielāgota arhivēšanas shēma, kas balstās uz to, cik bieži un jaunākie dati ir par vienu lietotāju. Lielākā daļa datu tiek izplatīti nejauši.

PHP

kā darbojas facebook

Facebook izmanto PHP, jo tā ir laba tīmekļa programmēšanas valoda ar plašu atbalstu un aktīvu izstrādātāju kopienu, un tā ir piemērota ātrai atkārtošanai. PHP ir dinamiski drukāta / interpretēta skriptu valoda.

Memcache

kā darbojas facebook

Memcache ir atmiņas kešatmiņas saglabāšanas sistēma, kuru izmanto, lai paātrinātu dinamiskas uz datu bāzēm balstītas vietnes (piemēram, Facebook), kešatmiņā saglabājot datus un objektus RAM, lai samazinātu lasīšanas laiku. Memcache ir galvenā Facebook kešatmiņas forma un palīdz mazināt datu bāzes ielādi.

Kešatmiņas saglabāšanas sistēma ļauj Facebook darboties tikpat ātri, cik tas ir, atsaucot atmiņā jūsu datus. Ja tai nav jāiet uz datu bāzi, tā vienkārši no jūsu kešatmiņas nolasīs datus, pamatojoties uz jūsu lietotāja ID.

Negatīvi LAMP lietošana

Facebook ir sapratis, ka LAMP steka izmantošanā ir negatīvie punkti. Proti, PHP nav obligāti optimizēts lielām vietnēm, un tāpēc to ir grūti mērogot. Tā arī nav ātrākā izpildes valoda, un paplašinājuma ietvaru ir grūti izmantot.

kā darbojas facebook

Maiks Šrofers, Facebook inženieru viceprezidents, nesen veica interviju vietnē EmTech @ MIT par to. "Jebkuras vietnes mērogošana ir izaicinājums," sacīja Šroefs, "taču sociālā tīkla mērogošanai ir unikālas problēmas."

Viņš turpināja, ka atšķirībā no citām vietnēm jūs nevarat vienkārši pievienot vairāk serveru, lai problēmu atrisinātu, jo no Facebook milzīgās savstarpēji saistītās datu kopas. Lietotāju aktivitātes dēļ visu laiku tiek izveidoti jauni savienojumi.

Facebook ir kļuvis tik straujš, ka viņiem bieži nākas saskarties ar jautājumiem par datu bāzu vaicājumiem, kešatmiņu un datu glabāšanu. Viņu datu bāze ir milzīga un lielā mērā sarežģīts. Lai to ņemtu vērā, Facebook ir uzsācis daudz atvērtā pirmkoda projektu un aizmugures pakalpojumu.

Kā darbojas Facebook? ”” Atpakaļ

Facebook aizmugures pakalpojumi tiek rakstīti dažādās programmēšanas valodās, ieskaitot C ++, Java, Python un Erlang. Viņu filozofija pakalpojumu radīšanai ir šāda:

1. Izveidojiet pakalpojumu ja nepieciešams

2. Izveidojiet ietvaru / rīku kopu, lai vieglāk izveidotu pakalpojumus

3. Izmantojiet uzdevumam pareizo programmēšanas valodu

Visu Facebook atvērtā pirmkoda attīstību var atrast šeit. Es apspriedīšu dažus būtiskos rīkus, kurus Facebook ir izstrādājis.

Taupība (protokols)

Kā darbojas Facebook? Uzgriežņi un bultskrūves [skaidrojams ar tehnoloģiju] 7 fb taupībaTaupība ir viegls attālo procedūru izsaukumu ietvars mērogojamu starpvalodu pakalpojumu izstrādei. Thrift atbalsta C ++, PHP, Python, Perl, Java, Ruby, Erlang un citas. Tas ir ātrs, ietaupa izstrādes laiku un nodrošina darba sadalījumu augstas veiktspējas serveros un lietojumprogrammās.

Scribe (žurnāla serveris)

Rakstu mācītājs ir serveris, lai apkopotu žurnāldatus, kas straumēti no daudziem citiem serveriem reāllaikā. Tas ir mērogojams ietvars, kas noder, lai reģistrētu plašu datu klāstu. Tas ir uzbūvēts uz Thrift.

Kasandra (datu bāze)

kā darbojas facebook

Kasandra ir datu bāzes pārvaldības sistēma, kas izstrādāta, lai apstrādātu lielu datu daudzumu, kas izkliedēts daudzos serveros. Tas nodrošina Facebook funkciju Iesūtne meklēšanā un nodrošina strukturētu galveno vērtību veikalu ar iespējamu konsekvenci.

HipHop PHP

HipHop PHP ir PHP skripta koda avota koda pārveidotājs un tika izveidots, lai saglabātu servera resursus. HipHop pārveido PHP avota kodu optimizētā C ++. Pēc tam to izmanto g ++, lai apkopotu to mašīnkodā.

Secinājums

Īsumā tas ir Facebook. Šis raksts varētu viegli būt par 37 lappusēm garāks, ja es iedziļinātos sīkāk, bet, lai atbildētu uz jautājumu “Kā darbojas Facebook?”, Manuprāt, ar to pietiks. Ja palūkojaties uz visām funkcijām un inovācijām, galvenā Facebook ideja ir patiešām ļoti pamata, ”” uzturot cilvēkus savienotus. Facebook apzinās sociālo tīklu jaudu un pastāvīgi veic jauninājumus, lai viņu pakalpojumi biznesā būtu vislabākie.

Vai jums šis raksts noderēja? Atstājiet savas domas, komentārus un idejas zemāk!

Stīvs, VaynerMedia kopienas vadītājs, aizraujas ar sociālo mediju un zīmola veidošanu.