Symfony Case studies: Youporn

Posted by victor on May 19th, 2013
symfony2-logoHoy Fernando Siles ha publicado un artículo en Genbetadev en describiendo la arquitectura de de uno de los gigandes del streaming de vídeo de Internet: Youporn (la temática queda clara). El artículo de basa en una publicación de High Scalability realizada con motivo de la charla dada por Eric Pickup, CEO de Youporn en la edición 2012 de la Confoo Conference. Como comprenderás, la temática de este sitio implica grandes cantidades en cualquier variable que se quiera medir (número de consultas, datos de transmisión, cantidad de log etc...) y lo interesante de todo esto es que está implementada en Symfony2. Las cifras son impresionantes:
  • > 300.000 consultas por segundo.
  • Transmite 100 Gb, lo que equivale a transmitir 3 DVDs completos por segundo.
  • Genera de 8GB-15GB en datos de logs por hora.
Esto no hace más que consolidar a Symfony2 como un framework apto para emplearse en situaciones extremas en donde se requieren respuestas rápidas para miles de usuarios de todo el mundo. Por supuesto, el éxito en la parte técnica de un servicio de estas dimensiones no solo está en el framework. La arquitectura del site incluye Redis (NoSQL) en lugar del tradicional MySQL. HAProxy como balanceador de carga. Varnish como proxy inverso para suavizar la carga en servidores web. Syslog-ng es el encargado de procesar los 15 GB/hora que puede llegar a generar. Originalmente, Youporn comenzó en 2006 escrito en Perl y usando MySQL. En 2011 se reescribió el código por completo y se paso a usar PHP + Symfony obteniendo una mejoría del 10% y un código más legible.

Comments

comments powered by Disqus