Servidor Web de Tiempo Real Opensource: Tornado de Facebook

tornado facebook

Tornado es el framework web (al estilo Django) desarrollado en Python que impulsa a FriendFeed (adquirido por Facebook hace un mes por aprox. $50 millones), especialmente diseñado para manejar múltiples peticiones en tiempo real, núcleo esencial para cualquier aplicación de tipo microblogging.

Desde el 10 de septiembre 2009 Tornado está disponible como una alternativa opensource (software libre), excelente para los proyectos que necesiten manejar una gran cantidad de usuarios y mover un flujo de datos en tiempo real. Ahora que Facebook ha decidido distribuir Tornado de forma gratuita podría significar en un futuro cercano la evolución de sus funciones gracias a la comunidad de desarrolladores interesados.

Algunas de las características claves de Tornado:

  • Contempla todo lo referente a estructuras básicas de un sitio: templates (pueden utilizarse templates de Django), cookies, autentificación de usuarios, localización, caching, etc.
  • Fácil de entrelazar con otros frameworks.
  • Soporta un gran número de conexiones concurrentes.
  • Facilidades a la hora de implementar servicios en tiempo real vía long pulling o HTTP streaming.
  • Alto nivel de desempeño.

Tornado ha sido probado en Python 2.5 y 2.6. Para poder utilizar todas sus funcionalidades es necesario instalar PycURL y alguna librería JSON como simplejson.

Enlaces relacionados:

Sitio Oficial de Tornado – Descarga y documentación.

Tecnology behind Tornado – por Bret Taylor (CEO de Friendfeed hasta agosto 2009)

Blog de los desarrolladores de Facebook

  • No diria que es un framework al estilo Django, es un poco mas bare bones, mas orientado a manejar Requests HTTP sumamente rapido, al menos por lo que veo en la documentacion.

    Vale la pena leer el codigo, super sencillo, limpio.

    Me agrada que fue hecho para trabajar en conjunto con nginx. Es hora que mas desarrolladores se expongan a servidores como nginx o lighttpd, apache no es la ultima coca cola del desierto.

    • Mel

      Tornado sería como un web server/framework. Tiene parte de los dos mundos. Y su prioridad que es “especialmente diseñado manejar múltiples peticiones en tiempo real”.