Come funziona Facebook? The Nuts and Bolts [Technology Explained]

Annuncio pubblicitario

Annuncio pubblicitario
Annuncio pubblicitario

Il social networking è l'arte di connettersi con coloro che condividono interessi comuni. La tua "rete" è una comunità che ti aiuta a rimanere unita agli altri e offre molti vantaggi. Il collegamento in rete tramite siti di social media ha rivoluzionato il modo in cui utilizziamo Internet ed è in prima linea in quello che ora chiamiamo Web 2.0.

Facebook è social networking. Le persone si sono "scambiate messaggi" per circa 6 anni, rendendo Facebook il social network più utilizzato con oltre 350 milioni di utenti in tutto il mondo. Ma come funziona Facebook?

In questo articolo, parlerò dei meccanismi interni di Facebook, coprendo la sua architettura e l'infrastruttura di frontend / back-end "" le cose che tengono insieme Facebook.

Come funziona Facebook? "" Il front-end

Facebook utilizza una varietà di servizi, strumenti e linguaggi di programmazione per creare la sua infrastruttura principale. Al front-end, i loro server eseguono uno stack LAMP (Linux, Apache, MySQL e PHP) con Memcache. Non un esperto di informatica? Diamo un'occhiata esattamente a ciò che significa.

Linux e Apache

come funziona facebook

Questa parte è piuttosto auto-esplicativa. Linux è un kernel del sistema operativo per computer simile a Unix. È open source, molto personalizzabile e buono per la sicurezza. Facebook esegue il sistema operativo Linux su server HTTP Apache. Apache è anche gratuito ed è il server web open source più popolare in uso.

MySQL

come funziona facebook

Per il database, Facebook utilizza MySQL per via della sua velocità e affidabilità. MySQL viene utilizzato principalmente come archivio di valori-chiave in quanto i dati vengono distribuiti casualmente tra una vasta serie di istanze logiche. Queste istanze logiche sono distribuite su nodi fisici e il bilanciamento del carico viene eseguito a livello di nodo fisico.

Per quanto riguarda le personalizzazioni, Facebook ha sviluppato uno schema di partizionamento personalizzato in cui viene assegnato un ID globale a tutti i dati. Dispongono inoltre di uno schema di archiviazione personalizzato basato su dati frequenti e recenti per utente. La maggior parte dei dati è distribuita casualmente.

PHP

come funziona facebook

Facebook usa PHP perché è un buon linguaggio di programmazione web con ampio supporto e una comunità di sviluppatori attiva ed è buono per una rapida iterazione. PHP è un linguaggio di script dinamicamente tipizzato / interpretato.

memcache

come funziona facebook

Memcache è un sistema di memorizzazione nella cache che viene utilizzato per accelerare i siti Web dinamici basati su database (come Facebook) memorizzando nella cache i dati e gli oggetti nella RAM per ridurre i tempi di lettura. Memcache è la forma di caching primaria di Facebook e aiuta ad alleviare il carico del database.

Avere un sistema di memorizzazione nella cache consente a Facebook di essere veloce quanto richiamare i tuoi dati. Se non è necessario andare al database, recupera i dati dalla cache in base all'ID utente.

Svantaggi all'uso di LAMP

Facebook ha capito che ci sono degli svantaggi nell'utilizzo dello stack LAMP. In particolare, PHP non è necessariamente ottimizzato per grandi siti Web e quindi difficile da scalare. Inoltre, non è la lingua di esecuzione più veloce e il framework di estensione è difficile da usare.

come funziona facebook

Mike Schroepfer, Vice President of Engineering di Facebook, ha recentemente rilasciato un'intervista a EmTech @ MIT a riguardo. "Scalare qualsiasi sito Web è una sfida", ha detto Schroepfer, "ma scalare un social network ha sfide uniche."

Ha proseguito affermando che, a differenza di altri siti Web, non è possibile aggiungere altri server per risolvere il problema a causa dell'enorme serie di dati interconnessi di Facebook. Nuove connessioni vengono create continuamente a causa dell'attività degli utenti.

Facebook è cresciuto così rapidamente che spesso si trovano ad affrontare problemi relativi alle interrogazioni del database, alla memorizzazione nella cache e all'archiviazione dei dati. Il loro database è enorme e in gran parte complesso. Per tenere conto di ciò, Facebook ha avviato molti progetti open source e servizi di back-end.

Come funziona Facebook? "" Il back end

I servizi di backend di Facebook sono scritti in una varietà di linguaggi di programmazione diversi, inclusi C ++, Java, Python ed Erlang. La loro filosofia per la creazione di servizi è la seguente:

1. Creare un servizio se necessario

2. Creare un framework / set di strumenti per facilitare la creazione di servizi

3. Utilizzare il linguaggio di programmazione corretto per l'attività

Un elenco di tutti gli sviluppi open source di Facebook può essere trovato qui. Discuterò alcuni degli strumenti essenziali che Facebook ha sviluppato.

Parsimonia (protocollo)

Come funziona Facebook? The Nuts and Bolts [Technology Explained] 7 fb parsimonia Il parsimonia è un framework di chiamata di procedura remota leggero per lo sviluppo di servizi cross-language scalabili. Thrift supporta C ++, PHP, Python, Perl, Java, Ruby, Erlang e altri. È veloce, consente di risparmiare tempo di sviluppo e offre una divisione del lavoro di lavoro su server e applicazioni ad alte prestazioni.

Scribe (log server)

Scribe è un server per l'aggregazione di dati di log in streaming in tempo reale da molti altri server. È un framework scalabile utile per registrare un'ampia gamma di dati. È costruito sopra Thrift.

Cassandra (database)

come funziona facebook

Cassandra è un sistema di gestione di database progettato per gestire grandi quantità di dati sparsi su molti server. Alimenta la funzionalità di ricerca in arrivo di Facebook e fornisce un archivio di valori-chiave strutturato con coerenza finale.

HipHop per PHP

HipHop per PHP è un trasformatore di codice sorgente per codice script PHP ed è stato creato per salvare le risorse del server. HipHop trasforma il codice sorgente PHP in C ++ ottimizzato. Dopo averlo fatto, usa g ++ per compilarlo al codice macchina.

Conclusione

In poche parole, questo è Facebook. Questo articolo potrebbe facilmente essere più lungo di 37 pagine se dovessi entrare più nel dettaglio, ma per rispondere alla domanda "Come funziona Facebook?" Penso che sarà sufficiente. Se guardi oltre tutte le funzionalità e le innovazioni, l'idea principale di Facebook è davvero fondamentale "" tenere le persone connesse. Facebook realizza la potenza del social networking ed è costantemente innovatore per mantenere il proprio servizio al meglio nel business.

Hai trovato questo articolo utile? Lascia qui sotto i tuoi pensieri, commenti e idee!

In this article