browser lang:en
Se passate le vostre giornate su Facebook e vi occupate di web application, potreste essere interessati a sapere come funziona l’infrastruttura di quello che ormai è il primo social network per volumi di traffico.
Facebook ha tre datacenter, due sulla west coast (San Francisco, Santa Clara) e uno sulla east (Northern Virginia). I server utilizzati sono x86, e il software utilizzato è opensource.
Il datacenter principale è quello di Santa Clara, dove ha sede la società. Il livello più alto, quello web, è costituito da applicazioni scritte in Php.
Il cuore del sistema invece è scritto in C++, Java, Python e Ruby.
Come viene spiegato qui, la società ha creato adhoc Thrift, un framework che permette ad applicazioni scritte in linguaggi diversi di interagire a vantaggio dell’intero sistema.
Per quanto riguarda i database, Facebook utilizza server Mysql (8-core, come quelli web su cui viene eseguito Apache). Il popolare database opensource riesce tranquillamente a lavorare con 40 TB di dati. Tenete conto comunque che stiamo parlando di 800 macchine…
Dato che però le richieste ricevute sono 15 milioni al secondo, 800 database server non sono sufficienti. Per questo Facebook si avvale di un consistente sistema di caching (memcache, molto diffuso anche in Italia) che permette di rispondere in tempi rapidissmi al 95% delle richieste. “Solo” le rimanenti 500000 vengono inoltrate ai database server (Mysql) veri e propri.
Sempre in California, come abbiamo accennato sopra, c’è un datacenter a San Francisco, che si limita a replicare i servizi web e di caching, ma utilizza gli stessi database di Santa Clara (le località sono vicine, e quindi questo è possibile).
Non è possibile fare la stessa cosa per i server in Virginia, troppo lontani per potere inviare query Mysql quando necessario. La soluzione? Replicare completamente anche i database server.
Per foto, video e contenuti analoghi, esistono appositi server dedicati, sempre nelle tre locazioni che abbiamo elencato.
Disegnare su carta l’infrastruttura server di Facebook è l’incubo di chiunque si occupi di web application. Basti pensare con quale aumento di volumi i sistemisti devono confrontarsi.
Per i piú smemorati, una lista di comandi principali usati con linux cd : cambia la directory corrente. ls : mostra il…
in:Scripts e tutorials (0 commenti)Con l'avvento di caffeine molti webmaster si sono trovati a dover rivedere tutte le strategie SEO per i…
in:Scripts e tutorials (0 commenti)Questo è un widget di jQuery per il nuovo social network di Google-Buzz-che è possibile incorporare ovunque per…
in:Scripts e tutorials (0 commenti)Questo é un pratico codificatore/decodificatore/decriptatore (chiamatelo come volete) di password inserite nei file di configurazione .ste su dreamweaver function…
in:Scripts e tutorials (0 commenti)Il PageRank è un algoritmo che usa Google per valutare la credibilità e l'autorevolezza delle pagine Web. Il…
in:Scripts e tutorials (8 commenti)Con questo script possiamo limitare il download di un file dal nostro server php; il limite di velocitá…
in:Scripts e tutorials (0 commenti)Alcuni host hanno disabilitati nei settaggi del.ini i comandi allow_url_fopen. Questo significa anche non poter usare i vantaggi…
in:Scripts e tutorials (2 commenti)Gli SHORT URLS fanno ormai parte di quelle cose di internet che ci suonono terribilmente familiari; per capirci…
in:Scripts e tutorials (0 commenti)
