
Il software usato da Facebook, il più grande sito del mondo
Facebook offre 570 miliardi di pagine viste al mese (secondo Google Ad Planner).
Più di 3 miliardi le foto vengono caricate ogni mese.
Più di 25 miliardi di pezzi di contenuto (aggiornamenti di stato, commenti, ecc) sono
condivisi ogni mese.
Facebook ha più di 30.000 server (e questo numero è dello scorso anno!)
Quali softwares usa per fare tutto questo?
Memcached
http://memcached.org/
Si tratta di una sistema di memoria cache distribuito che Facebook usa tra i server web e server MySQL (poiché l'accesso al database è relativamente lenta).
PHP, essendo un linguaggio di scripting, è relativamente lento rispetto al codice che gira nativamente su un server.
HipHop
http://wiki.github.com/facebook/hiphop-php/
converte PHP in codice C + + che possono poi essere elaborate per ottenere prestazioni migliori.
Haystack
http://www.facebook.com/note.php?note_id=76191543919
è photo storage ad alte prestazioni di Facebook
Haystack è un archivio di oggetti, per cui non deve necessariamente archiviare foto.
BigPipe
http://www.facebook.com/notes/facebook-engineering/bigpipe-pipelining-we...
ridisegna la pagina web dinamica. Facebook lo usa per dividere ogni pagina web in sezioni (chiamate "pagelets") per ottenere prestazioni ottimali.
Cassandra
http://cassandra.apache.org/
è un sistema di storage distribuito. Facebook lo usa per la sua ricerca di Posta in arrivo.
Scribe
http://github.com/facebook/scribe
è un sistema di logging flessibile che Facebook usa per una pluralità di fini internamente. E 'stata costruita per essere in grado di gestire la registrazione a livello di Facebook.
Hadoop
http://hadoop.apache.org/
è un open source map-riduce, che permette di eseguire calcoli su enormi quantità di dati.
Hive costruito su hadoop
http://hadoop.apache.org/hive/
consente un facile riepilogo dei dati
Facebook usa diverse lingue per i suoi servizi diversi.PHP viene usato per il front end, Erlang viene usato per chat, Java e C + +.
Thrift
http://incubator.apache.org/thrift/
è un cross-language framework che lega tutte queste lingue diverse insieme , permettendo loro di parlare tra loro.
Varnish è un acceleratore HTTP
http://varnish-cache.org/
http://github.com/facebook
http://developers.facebook.com/opensource/
|
CAD, GstarCAD, iPAD, iPhone, iTouch
|
|
|
|
AUTOCAD
|
|
AUTOCAD
|
AUTOCAD
|
|
SOLIDWORKS
|
CREO
|
|
CAD, GstarCAD, iPAD
|
PLANT DESIGN
|
|
|
|
|
|
|
|
|
|
|
CAM
|
ARCHITETTURA CAD3D
|
|
CAD
|
DELCAM
|
|
VariCAD
|
V8i, MICROSTATION
|
|
CAM
|
VISI 19, VERO
|
|
PLANIT
|
BobCAD-CAM, CAM
|
|
SIMULIA Abaqus v6.11, SIMULIA
|
NOTIZIE CAD
|
|
CAM, MachineWorks, ZWSOFT
|
NOTIZIE CAD
|
|
INVENTOR
|
Python per Rhino, RHINO
|
|
NOTIZIE CAD
|
RHINO
|
|
PanelingTools, RHINO
|
Yeti, RHINO
|
|
KeyCreator University, MECCANICA CAD3D
|
Parasolid v23.1, Siemens, MECCANICA CAD3D
|
|
INVENTOR
|
NOTIZIE CAD
|
Cad Cae Cam Television
Cad Cae Cam World Info News
Cad Cae Cam Software Community Forum Blog Book Gruppi
Comments
Re: Il software usato da Facebook, il più grande sito del mondo
Facebook è stato sviluppato da zero utilizzando software open source. Gli sviluppatori della piattaforma edificio con scala le proprie applicazioni utilizzando molte delle stesse tecnologie di infrastruttura che di potenza Facebook.
Piattaforma
Il team di progettazione della piattaforma ha pubblicato e mantiene gli SDK open source di Android , C # , iPhone , JavaScript , PHP e Python .
Strumenti per gli sviluppatori
codemod assiste con scala codebase refactors-grandi che possono essere parzialmente automatizzata, ma richiedono ancora la revisione umana e l'intervento occasionale.
Animazione Facebook è una libreria Javascript per la creazione di animazioni personalizzabili tramite la manipolazione del DOM e CSS.
flvtool + + è uno strumento per alludendo e manipolare i metadati del file FLV. È stato originariamente creato per Facebook Video .
Online modifica dello schema per MySQL consente di modificare le tabelle di database di grandi dimensioni senza disattivazione del cluster.
PHPEmbed inserire codice PHP rende davvero semplice per tutti i nostri sviluppatori (e del mondo), abbiamo sviluppato questa libreria PHPEmbed che è solo un più accessibile e semplificato API costruito sulla sommità del SAPI PHP.
phpsh fornisce una shell interattiva per PHP che caratterizza la storia readline, il completamento automatico, e un rapido accesso alla documentazione. E 'ironicamente scritto principalmente in Python.
Three20 è una libreria C-Obiettivo per gli sviluppatori iPhone che fornisce molti elementi di interfaccia utente e gli aiutanti dati dietro la nostra applicazione per iPhone.
XHP è un'estensione per PHP che integra la sintassi del linguaggio in modo tale che frammenti di documento XML diventare espressioni valide.
XHProf è un livello gerarchico profiler funzione per PHP, con una semplice interfaccia di navigazione basato su HTML.
Infrastrutture
Apache Cassandra è un sistema di storage distribuito per la gestione di dati strutturati che è progettato per adattarsi a una dimensione molto grande su più server commodity molti, senza single point of failure.
Apache Hive è data warehouse infrastruttura costruita sopra Hadoop che fornisce strumenti per consentire agevolmente il riepilogo dei dati, l'esecuzione di query ad hoc e l'analisi di set di dati di grandi dimensioni.
FlashCache è un generale blocco scopo cache writeback per Linux. E 'stato sviluppato come moduli caricabili del kernel Linux, utilizzando il Device Mapper e si siede sotto il filesystem.
HipHop per PHP trasforma il codice sorgente PHP altamente ottimizzato in C + +. HipHop offre migliori prestazioni di grandi dimensioni ed è stato sviluppato nel corso degli ultimi due anni.
Open Compute Project un progetto hardware aperto mira ad accelerare l'innovazione dei data center e server, aumentando l'efficienza del sistema attraverso la collaborazione sui pertinenti migliori pratiche e specifiche tecniche.
Scribe è un servizio scalabile per l'aggregazione dei dati di log in streaming in tempo reale da un gran numero di server.
Thrift fornisce un quadro per scalabile in lingua servizi di sviluppo cross in C + +, Java, Python, PHP e Ruby.
Tornado è un relativamente semplice, non-blocking framework web server scritto in Python. E 'progettato per gestire migliaia di connessioni simultanee, rendendolo ideale per servizi Web in tempo reale.
I nostri tecnici contribuiscono a
Apache Hadoop fornisce affidabile, scalabile infrastruttura di calcolo distribuito che usiamo per l'analisi dei dati.
Apache HBase è distribuito, versione, orientata dati conservare la colonna costruita in cima al Hadoop Distributed Filesystem.
Cfengine è una configurazione basata su sistema-regola che viene utilizzato per automatizzare la configurazione e manutenzione dei server. Facebook utilizza Cfengine per mantenere configurazioni di accoglienza e di automatizzare molte operazioni di pulizie sui nostri livelli di produzione.
jemalloc è un allocatore di memoria che è veloce, costante, e supporta profiling heap. ingegneri di Facebook ha aggiunto profiling heap e fatto molte ottimizzazioni. saperne di più .
memcached è una cache di memoria di sistema distribuito di oggetto. Memcached non è stato originariamente sviluppato su Facebook, ma siamo diventati il più grande utilizzatore di questa tecnologia.
MySQL è la spina dorsale della nostra infrastruttura di database. Potete trovare le nostre patch su Launchpad e imparare di più su come la usiamo sulla pagina Facebook di MySQL @ .
PHP è un linguaggio di scripting incredibilmente popolare che costituisce la maggior parte del nostro codice-base. La sua sintassi semplice ci permette di muoversi velocemente e iterare sui prodotti.
Varnish serve miliardi di richieste ogni giorno per gli utenti di Facebook in tutto il mondo. Ogni volta che caricare foto e immagini del profilo dei tuoi amici, c'è una buona probabilità che la vernice è molto coinvolto.
http://developers.facebook.com/opensource/
Post new comment