Note dalla presentazione "Un giorno nella vita di Facebook Operations" di Tom Cook, Systems Engineer, Facebook a Surge2010 conferenza.
Finora questa è la sessione più frequentato. Standing camera disponibile solo solo prima di iniziare.
Che cosa significa amministratori di sistema facebook devono sostenere?
- Mensili 700,000,000 minuti di tempo speso su fb
- 6billion pezzi di contenuti aggiornati
- 3 miliardi di foto
- 1 milione di implementazioni di connessione
- Mezzo miliardo di utenti attivi
Crescita Infrastrutture
- fb raggiunto un limite di leasing spazio datacenter
- fb sta costruendo il proprio http://www.facebook.com/prinevilledatacenter
- attualmente in servizio fuori della California e Virginia
Inizialmente uno stack LAMP. LB -> Web Server -> Servizi / Memcached / Basi di dati
Originariamente facebook era un semplice sito di Apache PHP. Quando fb iniziato a colpire un limite a questo, hanno iniziato la compilazione di PHP in C + + ( HipHop per PHP).
FB sostiene di essere il più grande dispiegamento memcache in tutto il mondo. Essi server di 300 Terbytes di dati memcached dalla memoria.
MySQL miglioramento s contribuito posteriore è flashcache.
Servizi supportati
- News Feed
- Ricerca
- Nascondiglio
Linguaggi di implementazione del servizio
- C + +
- PHP - front-end
- pitone
- Rubino
- Giava
- Erlang (chat room)
Come parlano tra questi? Json? SOAP? No, FB Thrift attuato - ligtwaith software framework per lo sviluppo del linguaggio trasversale, una colla comune dietro tutti i sistemi di facebook.
Per i sistemi, che cosa ha fb di preoccuparsi su una base quotidiana?
- distribuzione
- monitoraggio
- manaement dati
- Aggiornamenti operativo di base
Facebook OS è .... CentOS!
Sistemi di Gestione
- Configuration Management
- CFengine per la gestione del sistema
- On Demand
Distribuzioni
- Web Push - nuovo codice viene distribuito a FB, almeno una volta al giorno. La sua una spinta coordinata, tutti sono a conoscenza, la notifica avviene a Dev Team. Chiunque siti sul IRC durante la spinta. Si comprensione passa da ingegneri e il resto della compagnia
- spingere software costruito su on-demand strumenti di controllo
- codice distribuiti tramite sciame BitTorrent interna
- php viene compilato, le poche centinaia di MB binario viene rapidamente spinto po bia torrent.
- ci vuole un minuto per spingere tutta la rete
- Distribuzioni di backend - solo ingegneria e le operazioni. Ingegneri scrivono, prova e visualizzazione
- Prendere rapidamente decisioni prestazioni
- Esporre modifiche sottoinsieme del traffico reale
- No 'impegnarsi e uscire'
- Profondamente coinvolto in movimento servizi alla produzione
- Ops 'embeded' nel team di progettazione
- Heavy Change logging - pin code che punta a ogni pressione e il cambiamento
Monitoraggio e metriche dei server e le prestazioni su facebook
- Gangli - aggregati metriche
- veloce
- lineare
- griglie e piscine annidate
- oltre 5 milioni di metriche monitorate
- sistema di monitoraggio inhouse facebook
Monitoraggio - facebook utilizza ancora Nagios !
Per gestire la complessità e il numero di allarmi e sistemi di monitoraggio della squadra fb utilizza aggregazione. Inizialmente gli allarmi sono stati gestiti tramite e-mail.
Scribe - domanda di registrazione ad alte prestazioni. Syslog utilizzato inizialmente. Utilizzato anche Hadoop e Hive.
Come funziona e viene fatto?
- chiara definizione delle dipendenze e delle responsabilità
- Fallimento Constant
- I server erano la prima linea di difesa, poi ha iniziato concentrandosi su rack
- Ora è focalizzata su cluster. Basato delineazione Logical sulla funzione (web, db, mangimi, ecc)
- Tappa successiva è data center - cosa fare se un disastro naturale?
- Comunicazione costante - le informazioni sono condivise costantemente.
- IRC
- un sacco di bot automatizzati, get e set di dati
- aggiornamenti interni
- "Basette" a strumenti interni
- Cambiare registro / feed
- Piccole squadre
Fatto interessante - ogni server fb riceve un aggiornamento in media ogni otto minuti.
Giorno più trafficato per FB è il giorno dopo Halloween :)
Nessun commento:
Posta un commento
Nota. Solo i membri di questo blog possono postare un commento.