Buscar
Social
Ofertas laborales ES
« Novell anuncia Mono for Android 1.0 | Main | JavaHispano Podcast - 113 - Noticias Abril 2011 (a) »
jueves
abr072011

Twitter mejora el desempeño de sus búsquedas usando Java

En 2010, los ingenieros de Twitter empezaron a migrar su sistema de búsquedas en tiempo real. Durante la primera fase, remplazaron su backend que usaba mysql por un sistema basado en Lucene. Hace una semana han remplazado el front-end, de una aplicación Ruby On Rails a un front-end basado en Java al que han llamdo Blender.

Con este nuevo front-end han mejorado el desempeño y ahora es 3 veces más rápido que la versión anterior. Los detalles de este nuevo sistema están en el blog de twitter

Los retos principales que atacaron con Blender son:

1. Tener un sistema Asíncrono, para no bloquear threads

2. Agregar resultados de varios servicios del backend

3. Gestionar dependencias entre estos servicios de forma elegante.

 

Al final la solución se construyó sobre Netty, un framework para construir aplicaciones con arquitectura basada en eventos de JBoss y usa Thrift y Http para exponer su API. Algo que me gustó de lo que hicieron, es el framework para workflows, que analiza los servicios que tiene que agregar para completar una petición hecha a su API y los acomoda de acuerdo a sus dependencias, garantizando que podrá hacer las llamadas en paralelo justas para los servicios sin romper sus dependencias.

El equipo de twitter seguirá trabajando para mejorar Blender. Un buen caso de cómo atender cientos de miles de peticiones de forma asíncrona y en el menor tiempo posible usando herramientas Java. 

 

 

 

Reader Comments

There are no comments for this journal entry. To create a new comment, use the form below.
Comentarios deshabilitados
Comentarios deshabilitados en esta noticia.