Quel est le nouveau cadre Tornado de Facebook?
Question
Facebook vient d'ouvrir un framework appelé Tornado .
Qu'est-ce que c'est? Qu'est-ce que cela aide un site à faire?
Je pense que Facebook utilise une structure LAMP. Est-ce utile pour les petits sites écrits sous la pile LAMP?
La solution
On dirait qu’il s’agit d’un serveur Web optimisé pour la haute concurrence et l’évolutivité, mais conçu pour des charges utiles plus petites.
Il a été conçu pour prendre en charge 10 000 utilisateurs simultanés.
Le cadre est distinct de la plupart les principaux serveurs Web (et certainement la plupart des frameworks Python) parce qu'il est non bloquant et raisonnablement rapide. Parce que c'est non bloquant et utilise epoll, il peut gérer des milliers de simultané connexions permanentes, ce qui signifie est idéal pour les services Web en temps réel. Nous avons construit le serveur Web spécifiquement pour gérer en temps réel FriendFeed caractéristiques - chaque utilisateur actif de FriendFeed maintient un espace ouvert connexion aux serveurs FriendFeed. (Pour plus d'informations sur la mise à l'échelle serveurs pour prendre en charge des milliers de clients, voir Le problème C10K.)
Il fonctionnera sur une pile LMP, mais remplacera Apache.
Voir le problème C10K .
Autres conseils
Il contient le module 'base de données' contenant des requêtes de blocage. . Ils exécutent peut-être plusieurs instances de ce serveur pour minimiser les problèmes de blocage. Peut-être n’est-il pas utilisé pour le flux entier, mais seulement dans certaines parties liées au comportement en temps réel (j’ai entendu dire que les connexions HTTP restent ouvertes pour vérifier les mises à jour, et que le comportement des threads mauvais pour cela).
Je ne pense pas qu'il soit utilisable en tant que cadre général pour des applications Web.
Tornado est un serveur Web python simple et rapide, ainsi qu’un micro-framework Web. Son fournit le cadre de base pour écrire un site Web dynamique. Il est très facile à apprendre et à étendre pour répondre aux besoins spécifiques d’une application Web exigeante, car elle ne vous gêne pas. La meilleure partie de l'utilisation de Tornado est qu'il ne crée pas de thread par requête, il s'adapte donc très bien pour un grand nombre de requêtes. Je l'utilise pour l'un de mes projets et je l'adore.