Advertentie

Hoe werkt Facebook? De moeren en bouten [Technologie uitgelegd] 0 intro facebookSociaal netwerken is de kunst om contact te maken met mensen met dezelfde interesses. Uw "˜netwerk" is een community die u helpt om met anderen verenigd te blijven en veel voordelen biedt. Netwerken via sociale-mediasites heeft een revolutie teweeggebracht in de manier waarop we internet gebruiken en loopt voorop in wat we nu Web 2.0 noemen.

Facebook is sociaal netwerken. Mensen “facebooken” elkaar nu al zo'n 6 jaar, maken Facebook het meest gebruikte sociale netwerk met meer dan 350 miljoen gebruikers wereldwijd. Maar hoe werkt Facebook?

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

Hoe werkt Facebook? ”” The Front End

Facebook gebruikt verschillende services, tools en programmeertalen om zijn kerninfrastructuur te vormen. Aan de voorkant draaien hun servers een LAMP (Linux, Apache, MySQL en PHP) stack met Memcache. Geen expert op het gebied van informatica? Laten we eens kijken wat dat precies betekent.

Linux & Apache

hoe werkt facebook

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

MySQL

hoe werkt facebook

Voor de database gebruikt Facebook MySQL vanwege zijn snelheid en betrouwbaarheid. MySQL wordt voornamelijk gebruikt als een sleutel / waarde-opslag aangezien gegevens willekeurig worden verdeeld over een groot aantal logische instanties. Deze logische instanties zijn verspreid over fysieke knooppunten en de taakverdeling gebeurt op fysiek 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 verspreid.

PHP

hoe werkt facebook

Facebook gebruikt PHP omdat het een goede webprogrammeertaal is met uitgebreide ondersteuning en een actieve community van ontwikkelaars en het is goed voor snelle iteratie. PHP is een dynamisch getypte / geïnterpreteerde scripttaal.

Geheugencache

hoe Facebook werkt

Geheugencache is een geheugencachesysteem 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 belangrijkste vorm van caching van Facebook en helpt de databasebelasting te verlichten.

Met een caching-systeem kan Facebook net zo snel zijn als bij het terughalen van uw gegevens. Als het niet naar de database hoeft te gaan, haalt het gewoon uw gegevens uit de cache op basis van uw gebruikers-ID.

Nadelen van het gebruik van LAMP

Facebook heeft ingezien dat het gebruik van de LAMP-stack nadelen heeft. Met name PHP is niet per se geoptimaliseerd voor grote websites en daarom moeilijk schaalbaar. Het is ook niet de snelst uitvoerende taal en het uitbreidingskader is moeilijk te gebruiken.

hoe Facebook werkt

Mike Schroepfer, Vice President of Engineering van Facebook, heeft onlangs een interview gehouden bij EmTech @ MIT wat dit betreft. "Het schalen van elke website is een uitdaging", zei Schroepfer, "maar het schalen van een sociaal netwerk heeft unieke uitdagingen."

Hij zei verder dat je, in tegenstelling tot andere websites, niet zomaar meer servers kunt toevoegen om het probleem op te lossen omdat van Facebook's "enorme onderling verbonden dataset". Door gebruikersactiviteit worden voortdurend nieuwe verbindingen gemaakt.

Facebook is zo snel gegroeid dat ze vaak worden geconfronteerd met problemen met betrekking tot databasequery's, caching en opslag van gegevens. Hun database is enorm en grotendeels complex. Om hier rekening mee te houden, is Facebook veel open source-projecten en backend-services gestart.

Hoe werkt Facebook? ”” De backend

De backend-services 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 een service indien nodig

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

3. Gebruik de juiste programmeertaal voor de taak

Een lijst met alle open source-ontwikkelingen van Facebook vindt u hier. Ik zal enkele van de essentiële tools bespreken die Facebook heeft ontwikkeld.

Thrift (protocol)

Hoe werkt Facebook? De moeren en bouten [Technologie verklaard] 7 fb spaarzaamheidSpaarzaamheid is een lichtgewicht call-framework voor procedures op afstand voor de ontwikkeling van schaalbare cross-language services. Thrift ondersteunt C ++, PHP, Python, Perl, Java, Ruby, Erlang en anderen. Het is snel, bespaart ontwikkeltijd en zorgt voor een werkverdeling op krachtige servers en applicaties.

Scribe (logboekserver)

Schrijver is een server voor het verzamelen van in realtime gestreamde loggegevens van vele andere servers. Het is een schaalbaar framework dat handig is voor het loggen van een breed scala aan gegevens. Het is bovenop Thrift gebouwd.

Cassandra (database)

hoe Facebook werkt

Cassandra is een databasebeheersysteem dat is ontworpen om grote hoeveelheden gegevens te verwerken, verspreid over vele servers. Het ondersteunt de Inbox Search-functie van Facebook 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 besparen. HipHop zet PHP-broncode om in geoptimaliseerde C ++. Hierna gebruikt het g ++ om het te compileren naar machinecode.

Conclusie

Dat is in een notendop Facebook. Dit artikel zou gemakkelijk 37 pagina's langer kunnen zijn als ik meer in detail zou treden, maar om de vraag "Hoe werkt Facebook?" Te beantwoorden, denk ik dat dit voldoende zal zijn. Als je voorbij alle functies en innovaties kijkt, is het belangrijkste idee achter Facebook echt heel eenvoudig ”” om mensen verbonden te houden. Facebook beseft de kracht van sociale netwerken en innoveert voortdurend om hun service optimaal te houden in het bedrijf.

Vond u dit artikel nuttig? Laat hieronder uw gedachten, opmerkingen en ideeën achter!

Steve, Community Manager bij VaynerMedia, is gepassioneerd door sociale media en merkopbouw.