Hoe werkt Facebook? The Nuts and Bolts [Technology Explained]

Advertentie

Advertentie
Advertentie

Sociale netwerken zijn de kunst om contact te maken met mensen die gemeenschappelijke interesses delen. Uw "~netwerk" is een community die u helpt om u verenigd te houden met anderen en biedt vele voordelen. Netwerken via sociale-mediasites heeft een revolutie teweeggebracht in de manier waarop we internet gebruiken en staat in de voorhoede van wat we nu Web 2.0 noemen.

Facebook is sociale netwerken. Mensen hebben elkaar nu ongeveer 6 jaar 'gematchd', waardoor Facebook het meest gebruikte sociale netwerk werd met meer dan 350 miljoen gebruikers wereldwijd. Maar hoe werkt Facebook?

In dit artikel zal ik de interne werking van Facebook bespreken, met inbegrip van de architectuur en de frontend / backend infrastructuur "" de moeren en bouten die Facebook bij elkaar houden.

Hoe werkt Facebook? "" De frontend

Facebook gebruikt een verscheidenheid aan services, hulpprogramma's en programmeertalen om zijn kerninfrastructuur te vormen. Aan de voorkant hebben hun servers een LAMP-stapel (Linux, Apache, MySQL en PHP) met Memcache. Geen computerwetenschapper? Laten we eens kijken wat dat precies betekent.

Linux en Apache

hoe werkt Facebook?

Dit deel spreekt voor zich. Linux is een Unix-achtige kernel van het besturingssysteem van een computer. Het is open source, zeer aanpasbaar en goed voor de beveiliging. Facebook voert het Linux-besturingssysteem uit op Apache HTTP-servers. Apache is ook gratis en is de meest gebruikte open source webserver die in gebruik is.

MySQL

hoe werkt Facebook?

Voor de database maakt Facebook gebruik van MySQL vanwege zijn snelheid en betrouwbaarheid. MySQL wordt voornamelijk gebruikt als een sleutel / waarde-opslag omdat gegevens willekeurig worden verdeeld over een groot aantal logische instances. Deze logische instanties zijn verspreid over fysieke knooppunten en taakverdeling vindt plaats op het fysieke knooppuntniveau.

Wat aanpassingen betreft, heeft Facebook een aangepast partitioneringsschema ontwikkeld waarin een globale ID wordt toegewezen aan alle gegevens. Ze hebben ook een aangepast archiveringsschema dat is gebaseerd op hoe vaak en recente gegevens per gebruiker zijn. De meeste gegevens worden willekeurig verdeeld.

PHP

hoe werkt Facebook?

Facebook gebruikt PHP omdat het een goede web-programmeertaal is met uitgebreide ondersteuning en een actieve ontwikkelaarscommunity en het is goed voor snelle iteratie. PHP is een dynamisch getypeerde / geïnterpreteerde scripttaal.

memcache

hoe facebook werkt

Memcache is een geheugencaching-systeem dat wordt gebruikt om dynamische database-gestuurde websites (zoals Facebook) te versnellen door gegevens en objecten in het RAM-geheugen te cachen om de leestijd te verkorten. Memcache is de primaire vorm van caching op Facebook en helpt bij het verlichten van de database.

Met een caching-systeem kan Facebook zo snel zijn als het is om je gegevens te onthouden. Als het niet naar de database hoeft te gaan, haalt het alleen uw gegevens op uit de cache op basis van uw gebruikers-ID.

Nadelen aan het gebruik van LAMP

Facebook heeft zich gerealiseerd dat er nadelen aan het gebruik van de LAMP-stack zijn. Met name is PHP niet noodzakelijkerwijs geoptimaliseerd voor grote websites en daarom moeilijk schaalbaar. Het is ook niet de snelste uitvoerende taal en het uitbreidingsraamwerk is moeilijk te gebruiken.

hoe facebook werkt

Mike Schroepfer, Vice President of Engineering van Facebook, heeft onlangs een interview hierover gedaan bij EmTech @ MIT. "Schalen van een website is een uitdaging, " zei Schroepfer, "maar het opschalen van een sociaal netwerk heeft unieke uitdagingen."

Hij ging verder met te zeggen dat je, in tegenstelling tot andere websites, niet zomaar meer servers kunt toevoegen om het probleem op te lossen vanwege de 'enorme, onderling verbonden dataset' van Facebook. Door de activiteit van de gebruiker ontstaan ​​er altijd nieuwe verbindingen.

Facebook is zo snel gegroeid dat ze vaak te maken hebben met problemen met databasequery's, caching en opslag van gegevens. Hun database is enorm en grotendeels complex. Om hiermee rekening te houden, heeft Facebook veel open source-projecten en backend-services gestart.

Hoe werkt Facebook? "" De back-end

De back-endservices van Facebook zijn geschreven in verschillende programmeertalen, waaronder C ++, Java, Python en Erlang. Hun filosofie voor het creëren van services is als volgt:

1. Maak indien nodig een service

2. Maak een framework / toolset voor het eenvoudiger maken van services

3. Gebruik de juiste programmeertaal voor de taak

Een lijst met alle opensourceontwikkelingen van Facebook is hier te vinden. Ik zal enkele essentiële hulpmiddelen bespreken die Facebook heeft ontwikkeld.

Thrift (protocol)

Hoe werkt Facebook? De moeren en bouten [Technology Explained] 7 fb thrift Thrift is een lichtgewicht remote procedure call-framework voor schaalbare meertalige dienstenontwikkeling. Thrift ondersteunt C ++, PHP, Python, Perl, Java, Ruby, Erlang en anderen. Het is snel, bespaart ontwikkelingstijd en zorgt voor een verdeling van de werkzaamheden op het gebied van krachtige servers en applicaties.

Scribe (log server)

Scribe is een server voor het aggregeren van loggegevens die in realtime worden gestreamd vanaf vele andere servers. Het is een schaalbaar raamwerk dat handig is voor het loggen van een breed scala aan gegevens. Het is gebouwd op de top van Thrift.

Cassandra (database)

hoe facebook werkt

Cassandra is een databasebeheersysteem dat is ontworpen om grote hoeveelheden gegevens te verwerken die verspreid zijn over vele servers. Het versterkt Facebook's Inbox Search-functie en biedt een gestructureerde sleutel-waarde winkel met uiteindelijke consistentie.

HipHop voor PHP

HipHop voor PHP is een broncodetransformator voor PHP-scriptcode en is gemaakt om serverbronnen te sparen. HipHop transformeert PHP-broncode in geoptimaliseerde C ++. Nadat dit is gedaan, gebruikt het g ++ om het te compileren naar machinecode.

Conclusie

In een notendop, dat is Facebook. Dit artikel kan gemakkelijk 37 pagina's langer zijn als ik meer in detail zou treden, maar om de vraag "Hoe werkt Facebook?" Te beantwoorden. Ik denk dat dit voldoende is. Als je langs alle functies en innovaties kijkt, is het belangrijkste idee achter Facebook echt heel eenvoudig "" mensen verbonden houden. Facebook realiseert de kracht van sociale netwerken en is constant bezig met innoveren om hun service het beste te houden in het bedrijf.

Heb je dit artikel nuttig gevonden? Laat hieronder je gedachten, opmerkingen en ideeën achter!

In this article