Avisador social Loteria de Navidad para RTVE

Blog / 25.12.2012

Durante las últimas semanas, en Ideable hemos estado desarrollando junto con SocSoft un avisador social para el sorteo extraordinario de la Loteria de Navidad de RTVE. En el blog de Socsoft podéis encontrar los detalles de como surge el proyecto y más imagenes de lo que hemos desarrollado en conjunto. Os dejamos un video de RTVE que presentaba el nuevo servicio de avisador:

En Ideable, queremos empezar a contar las nuevas experiencias que tenemos en desarrollos importantes por eso queríamos trasladar como hemos vivido estas semanas de desarrollo y describir los elementos que han compuesto esta solución. Los requerimientos que tenía el proyecto eran «sencillos»: partiendo de un número de visitas en el año 2011 del orden de varios millones teníamos que diseñar un sistema que fuera capaz de permitir a los usuarios registrar sus números de la Loteria y que el día del sorteo, fuesen avisados mediante Facebook, Twitter o correo electrónico de los premios que pudieran obtener, en tiempo real.

Con estos requerimientos en mente, empezamos a diseñar un sistema capaz de procesar la ingente cantidad de notificaciones que tendríamos que enviar en un espacio muy reducido de tiempo. Tras una fase inicial de estudio de soluciones, vimos claro que para la parte de procesado y envío de notificaciones, la mejor forma de soportar grandes picos de carga era aplicar el patrón de diseño SEDA. En la familia de los productos denominados ESB, SEDA es un patrón muy extendido, y además están diseñados específicamente para dar solución a este tipos de problemas, en las que se tiene una entrada (numero premiado) y se debe producir una o varias salidas (notificaciones) pasando por varias etapas de proceso intermedio. El ESB seleccionado ha sido Mule ESB, documentación muy trabajada, gran cantidad de componentes desarrollados, comunidad vibrante y experiencias anteriores positivas nos decantaron rápidamente por este producto en concreto.

Para soportar la carga prevista, se dimensionó la configuración de servidores con un balanceador de carga haciendo de frontal, 4 servidores para la parte de frontend, un servidor para albergar MySQL y otro para Mule ESB. Para monitorizar estos servicios usamos Datadog, un potente servicio capaz de hacer una radiografía del estado de tus servidores de una forma muy visual y con grandes capacidades de personalización. De esta forma sabíamos en tiempo real la memoria libre, el estado de los procesadores, el número de consultas que estaba ejecutando en base de datos, o la transferencia de datos que se estaba produciendo. Así mismo, usamos Pingdom para comprobar continuamente el estado de los servidores y ser avisados de las posibles caídas que sufriera el sistema y afortunadamente podemos decir que hemos ofrecido un 100% de uptime desde el principio.

Para las notificaciones usamos librerias especializadas de PHP y Javascript para Facebook y Twitter. Las notificaciones por email fueron a través de MailJet, la verdad que ha sido un placer trabajar con ellos, se han mostrado dispuestos a ayudar en todo momento y el servicio ha funcionado a la perfección.

El día del sorteo, se vivió con el habitual nerviosismo de estos días, por un lado la tele encendida para saber que estaba pasando y en nuestros ordenadores las pantallas de monitorización de los servidores, los ficheros de logs abiertos y los dedos cruzados para que todo fuera bien y nuestros boletos fueran premiados!

Para concluir, este post inaugura una nueva linea editorial en nuestro blog, hemos reflexionado mucho este año y hemos llegado a la conclusión de que hacemos muchas cosas interesantes pero que no conseguimos trasmitirlas de la forma que nos gustaría, por eso hemos decidido animarnos a escribir periódicamente sobre las soluciones que usamos en nuestros productos y desarrollos a medida desde un punto de vista tecnológico.

Stay tunned y felices fiestas a tod@s!

Comments are closed.

Show Buttons
Hide Buttons