Reddit Pythonizado

  
31 de Octubre de 2014   0  

Reddit es un sitio de marcadores sociales y agregador de noticias donde los usuarios pueden dejar enlaces a contenidos web. Otros usuarios pueden votar a favor o en contra de los enlaces, haciendo que aparezcan más o menos destacados.

 

reddit-web

¿Que tecnologías son utilizadas en Reddit?

ibHNQU

Reddit fue creado en Junio del 2005, y en sus inicios fue construido con el lenguaje Common Lisp pero posteriormente (7 meses después) fue re-escrito en Python en Diciembre del 2005.

El 18 de junio de 2008, Reddit se convirtió en un proyecto de código abierto. Con la excepción del módulo que utiliza anti spam, todo el código y bibliotecas escrito para Reddit se encuentran disponibles en Github.

A partir del 10 de noviembre de 2009 Reddit migra su plataforma al framework web dePylons, y es en esta misma fecha que se decide migrar de servidores físicos a servidores Amazon Web Services.

De momento conocemos que Reddit utiliza el motor de PostGreSQL como base de datos principal, combinado con el poder de Apache Cassandra. Así mismo utiliza Rabbitmq para su procesamiento fuera de línea, HAProxy para el balanceo de cargas y memcached para el caché de datos.

Si quieres conocer más sobre su infraestructura y tecnologías que emplea te invito a leer: Lessons Learned From Mistakes Made Scaling To 1 Billion Pageviews A Month.

¿Porque migrarse de Lisp a Python?

reddit-logo

Bueno, esta respuesta la encontré en el apartado de FAQ’s de Reddit, específicamente en “Nerd Talk“, claro! era muy lógico que solo algunos nerds querramos saber este tipo de información 😉

En su post escrito en 2005 lo explican todo. Sus creadores comentan:

“Lisp es un lenguaje sorprendente, y la programación es muy divertida, por alguna razón muchas personas se enamoran de este lenguaje”

Entonces nos preguntamos ¿Porqué Python si sus creadores amaban Lisp?

Bueno pues resulta que Python ha sido un lenguaje que les ha permitido desarrollar rápidamente y con un código limpio y claro.

“Hay mucha gente que ha escrito web en Python y hay un montón de código del cual se puede aprender”

Sus creadores comentan que Reddit ya necesitaba reescribir su código para ser optimizado yPython fue la mejor opción. Ellos mismos dicen la reescritura les tomó menos de una semana y que el 80% de todo el trabajo fue realizado en un solo fin de semana yeah!

Si quieren conocer más sobre Reddit y las lecciones que sus creadores han aprendido en el camino, les invito a leer este post llamado: 7 Lessons Learned While Building Reddit To 270 Million Page Views A Month. En lo personal me ha servido mucho leer las experiencias tanto de sus errores como de las tecnologías y arquitectura que utilizan para soportar tantos millones de usuarios.



Alex Dzul

FullStack Python / Django Developer. #jslove

Etiquetas

Temas relacionados