2009-09-10 14 views

risposta

13

Sembra un server Web ottimizzato per alta concorrenza e alta scalabilità, ma realizzato per payload più piccoli.

È stato progettato per supportare ben 10.000 utenti simultanei.

Il quadro è diverso dalla maggior parte quadri principali web server (e certamente maggior parte dei quadri Python) perché è non-blocking e ragionevolmente veloce. Poiché è non bloccante e utilizza epoll, può gestire migliaia di connessioni simultanee in piedi, il che significa che è ideale per i servizi Web in tempo reale. Abbiamo creato specificamente il server Web per gestire le funzioni in tempo reale di FriendFeed : ogni utente attivo di FriendFeed mantiene una connessione aperta ai server FriendFeed. (Per ulteriori informazioni sul ridimensionamento server per supportare migliaia di clienti, vedere il problema C10K.)

Esso verrà eseguito su una pila LMP, ma prende il posto di Apache.

Vedere il problema C10K.

0

Ha 'database' module con richieste di blocco. Forse eseguono più istanze di questo server per ridurre al minimo i problemi di blocco e forse non viene utilizzato per l'intero friendfeed, solo in alcune parti relative al comportamento in tempo reale (ho sentito che le connessioni HTTP rimangono aperte per controllare gli aggiornamenti, e il comportamento del thread sarebbe male per questo).

Non credo sia utilizzabile come framework per scopi generali per qualsiasi applicazione Web.

0

Tornado è un server web Python semplice e veloce e un framework micro-web. Il suo fornisce la struttura di base per scrivere un sito web dinamico. È molto facile da apprendere ed estendere per soddisfare le esigenze specifiche di un'applicazione Web esigente, poiché non è di ostacolo. La parte migliore dell'utilizzo di Tornado è che non crea thread per richiesta, quindi si adatta molto bene a un numero elevato di richieste. Lo sto usando per uno dei miei progetti e lo adoro.

Problemi correlati