Lamento responder una pregunta anterior, pero me encontré con esta pregunta y me pregunté por qué no tenía más respuestas. Para responder a la pregunta de Bart J:
I would like to parse RSS feeds in the Tornado application. Would you consider that fairly computationally intensive?
Bueno, eso depende de qué tipo de análisis que está haciendo y en qué hardware :) Mucho tiempo es mucho tiempo, así que si su aplicación requiere más que decir la mitad de un segundo para responder , parecerá lento - perfila tu aplicación.
La clave para los sistemas rápidos es una gran arquitectura, no tanto los detalles como, por ejemplo, qué marco está utilizando (Twisted, Tornado, Apache + PHP). Tornado tiene un estilo de procesamiento asincrónico y en realidad es en gran parte a lo que se reduce. Node.js, Twisted y Yaws son ejemplos de otros servidores web asíncronos que se escalan muy bien debido a un enfoque ligero y al estilo de procesamiento asincrónico.
Así:
When should Tornado be used?
When is it useless?
Tornado es bueno para el manejo de una gran cantidad de conexiones, ya que puede responder a un cliente entrante, enviará un controlador de solicitudes y no pensar que el cliente hasta que el resultado es-devolución de llamada empujado en la cola del evento. Entonces, para esa calidad específica, Tornado debe usarse cuando desee escalar bien cuando maneja muchas solicitudes. El procesamiento asincrónico facilita el desacoplamiento funcional y el acceso a datos compartidos. Eso se balancea muy bien con diseño sin estado como REST u otro Service Oriented Architecture s. Tampoco tiene que ocuparse tanto de hilos o procesos de desove con la sobrecarga inherente y puede salvar algunos de los problemas de bloqueo/IPC.
Tornado no hará mucha diferencia, por otro lado, si su servidor y/o almacén de datos tarda mucho tiempo para procesar las solicitudes. Ayuda a hacer diseños concurrentes y servicios web en particular. La arquitectura concurrente hace que sea más fácil escalar su diseño y mantener el acoplamiento bajo. Esa es mi experiencia con Tornado al menos.
Gracias por la respuesta. Solo quiero dejar en claro algunos puntos: ¿Puedo usar Flask o Django por Tornado y obtener todos sus beneficios (si no realizo ninguna tarea de campamento) sin cambiar el código de aplicación? –
En caso afirmativo, ¿cuál será la diferencia en comparación con ejecutar decir con flup? Gracias. –
Me gustaría analizar fuentes RSS en la aplicación Tornado. ¿Consideras que es bastante intensivo computacionalmente? –