Qual è il nuovo framework Tornado di Facebook?
Domanda
Facebook ha appena aperto un framework chiamato Tornado .
Che cos'è? Cosa aiuta a fare un sito?
Credo che Facebook usi una struttura LAMP. È utile per i siti più piccoli che sono scritti sotto lo stack LAMP?
Soluzione
Sembra che sia un web server ottimizzato per alta concorrenza e alta scalabilità, ma realizzato per payload più piccoli.
È stato progettato per supportare bene 10.000 utenti simultanei.
Il framework è distinto dalla maggior parte framework di server Web tradizionali (e sicuramente la maggior parte dei framework Python) perché è non bloccante e ragionevolmente veloce. Perchè è non blocca e usa epoll, può gestire migliaia di simultanei connessioni permanenti, il che significa che è ideale per i servizi Web in tempo reale. Abbiamo creato il web server appositamente per gestire in tempo reale FriendFeed caratteristiche - ogni utente attivo di FriendFeed mantiene un'apertura connessione ai server FriendFeed. (Per ulteriori informazioni sul ridimensionamento server per supportare migliaia di client, consultare Il problema C10K.)
Funzionerà su uno stack LMP, ma sostituisce Apache.
Vedi il problema C10K .
Altri suggerimenti
Ha "database" module con query di blocco . Forse eseguono più istanze di questo server per ridurre al minimo i problemi di blocco e forse non viene utilizzato per un'intera amicizia, solo in alcune parti relative al comportamento in tempo reale (ho sentito che le connessioni HTTP persistono aperte per verificare la disponibilità di aggiornamenti e il comportamento dei thread sarebbe male per questo).
Non penso che sia utilizzabile come framework per scopi generici per qualsiasi applicazione web.
Tornado è un server web Python semplice e veloce e un framework micro-web. Fornisce il framework di base per scrivere un sito Web dinamico. È molto facile da imparare ed estendere per soddisfare le esigenze specifiche di un'applicazione Web impegnativa poiché non ti ostacola. La parte migliore dell'utilizzo di Tornado è che non crea thread per richiesta, quindi si adatta molto bene a un gran numero di richieste. Lo sto usando per uno dei miei progetti e lo adoro.