Teknologien bak Facebook

Teknologien bak Facebook


Siden starten i februar 2004, har Facebook vist seg som en vellykket, nyskapende nettsamfunn ved hjelp av kun åpen kildekode plattformer for å bygge og vedlikeholde nettstedet. Ved roret i selskapet er grunnlegger og CEO Mark Zuckerberg, som er ansvarlig for å programmere det opprinnelige området og føre tilsyn med eksisterende område samlede teknologisk retning.

PHP

Hele Facebook nettstedet er bygget på og rundt PHP Hypertext Preprocessor. PHP er et server-side skriptspråk som skaper og utganger dynamiske HTML-sider. En PHP suite som Facebook bruker i stor utstrekning til å konvertere PHP til C ++ kode er HipHop for PHP rammeverk. Denne suite av skript lar nettstedet prestere bedre og få mest mulig ut av sine tungt brukte servere.

cache

Facebook er avhengig memcached å cache og lagre websider i minnet. Programvaren fungerer som et lag mellom de vanlige servere, og dens MySQL database servere. Dette hjelper nettstedet belastningen mye raskere enn andre nettsamfunn, som gir brukerne en nesten sømløs, uavbrutt opplevelse. Generelt caching bidrar til å fremskynde nettsteder ved å lagre ofte brukte filer og hente dem fra serveren minne buffer.

database

MySQL, en åpen kildekode-database programvare, er en av de viktigste komponentene til teknologien bak Facebook. Det er implementert av hundretusener av nettsteder, fordi det skalerer utrolig godt, noe som åpner for PHP-kode for å raskt hente viktig, og ofte, sikre data. Facebook har mer enn 30.000 servere med en stor del av de som blir MySQL database servere.

Photo Storage

Per juni 2011 Facebook er verdens største foto-deling nettsted på Internett. For å håndtere det store volumet av bilder lastet opp og så på nettsiden, bruker selskapet Haystack. Dette open-source programvare er en høy ytelse objekt lagringsplattform, som driver Facebooks Bilder funksjonen. Selskapet har forskjøvet Haystack å lagre en opplastet bilde i fire forskjellige oppløsninger for å hjelpe fremskynde henting prosessen, som avhenger av størrelsen på bildet som kreves av Facebooks PHP-kode.