Historias
Slashboxes
Comentarios
 

Twitter sigue migrando sistemas de Ruby a Java

editada por rvr el Domingo, 17 Abril de 2011, 11:00h   Printer-friendly   Email story

reidrac nos cuenta «A principio de este mes Twitter anunciaba mejoras en su sistema de búsquedas, pasando de MySQL a Lucene y de Ruby on Rails a Java con Netty.En su anuncio explican las limitaciones que tenía su servicio en RoR, y cómo el uso de Netty les ha permitido mejorar los resultados y estar más preparados para introducir nuevas funcionalidades. Twitter ya abandonó Ruby en el backend para usar Scala (un lenguaje que corre en la JVM y es compatible con otros programas en Java), aunque por aquel entonces hablaban de "complementar Ruby con Scala", así que esto se puede ver como un paso más en su abandono de Ruby.No sé si se trata de mala publicidad para RoR (igual que Twitter era positivo cuando era un caso de éxito), o simplemente el equipo de desarollo de Twitter ha cambiado en el tiempo y ahora su experiencia está más con Java».

Mostrar opciones Umbral:
Y recuerda: Los comentarios que siguen pertenecen a las personas que los han enviado. No somos responsables de los mismos.
  • por lean (5802) <xmpp://leandro@jabberes.org> el Domingo, 17 Abril de 2011, 11:51h (#1274151)
    ( http://leandro.org/ | Última bitácora: Viernes, 14 Julio de 2006, 10:26h )
    habría que ver en detalle las circunstancias. desarrollar una plataforma tan ingente y brutal como Twitter no debe de ser fácil ni en Ruby ni en nada.
    [ Responder ]
  • Es un cambio de arquitectura

    (Puntos:1, Inspirado)
    por pobrecito hablador el Lunes, 18 Abril de 2011, 07:14h (#1274241)
    Twitter no ha cambiado RoR por Spring ni por Seam. No se trata de ir de Ruby a Java. Se trata de migrar el servicio de búsquedas a una arquitectura totalmente asíncrona.
    [ Responder ]
  • por DanielSan (10124) el Lunes, 18 Abril de 2011, 21:57h (#1274333)
    ( http://guslibu.awardspace.com/ | Última bitácora: Viernes, 18 Marzo de 2011, 08:29h )
    Lo único que pasa es que Java tiene más soporte que Ruby en todo, y eso significa que con Java tienen más opciones. Java no es el líder en la industria porque sea el mejor lenguaje, sino porque es el lenguaje más usado, y por tanto el que tiene el mercado más amplio y más completo.
    [ Responder ]
  • Re:Me parece normal

    (Puntos:1)
    por sammael (16347) el Martes, 19 Abril de 2011, 11:18h (#1274358)
    ( http://barrapunto.com/ | Última bitácora: Viernes, 08 Abril de 2011, 12:00h )
    Lucene es java, si, pero si solo fuera por eso, podrian haber usado Ferret que es un port de Lucene y haber dejado todo igual.

    Por otro lado, tambien tienes Solr, que, dicho rapido y mal, es un wrapper alrededor de Lucene para servir peticiones por http con su respectivo gem en ruby (solr-ruby) y sirve en diferentes formatos (xml, json, php y hasta en ruby [apache.org]).

    Tampoco has tenido en cuenta de que el cambio a java introduce un monton de riesgos (donde estan los seguidores de Joel diciendo eso de "no lo reescribas!"), estan re-escribiendo esa parte de la aplicacion desde cero y eso puede causar un monton de problemas inesperados (nuevos bugs, reaparicion de bugs antiguos que se solucionaron en su momento...). Supongo (porque seria de locos pensar lo contrario) que cuando se plantearon pasar a java lo hicieron con mucho cuidado y pensandoselo muy mucho. Quiero pensar que la gente capaz de diseniar algo que soporte ese nivel de carga tambien sera consciente de esos riesgos y lo planeara al detalle.

    En resumen, hay *algo* en ruby que hace que no cumpla sus expectativas/necesidades (sea rendimiento del parser/maquina virtual/lo que usen, facilidad para implementar las modificaciones, soporte de librerias... lo que sea, no conozco tanto ruby RoR como para saber que pudiera ser) pero por los resultados que comentan, java si que les ha servido (como muchos otros lenguajes, seguramente).

    PD: Tambien hay ports de Lucene a C y a otros lenguajes, asi que me hace pensar que la opcion de java tambien esta bien meditada.
    --


    Dale fuego a un hombre y estara caliente un dia, prendele fuego y estara caliente el resto de su vida.
  • 6 respuestas por debajo de tu umbral de lectura actual.