Les coulisses informatiques de Twitter Moteur de recherche : des performances multipliées par trois avec Lucene

Après avoir pendant longtemps misé sur MySQL pour son moteur de recherche exécuté en temps réel, Twitter a changé son fusil d'épaule fin 2010. Il y a en fait été contraint en raison de l'accroissement de la volumétrie du nombre de tweets, mais aussi des problèmes liés à son incapacité à gérer la montée en charge associée.

twitter a indiqué que les performances de lucene n'avaient rien à voir avec
Twitter a indiqué que les performances de Lucene n'avaient rien à voir avec celles de la brique qu'il utilisait précédemment : Summize (basée sur Ruby on Rails en frontal et MySQL en arrière plan). © Lucene

En quête d'une solution plus robuste, le réseau social s'est alors tourné vers un autre projet soutenu par la fondation Apache : Lucene. Twitter y a apparemment beaucoup gagné au change puisque selon lui, les performances du moteur ont été multipliées par trois par rapport à son ancien outil, Summize. 

Une infrastructure maison d'équilibrage de charge

Pour s'assurer que ses services puissent encaisser des pics de trafic, Twitter a fait le choix de développer un outil maison d'équilibrage de charge, seul à même selon lui de répondre à ses besoins : Iago. En juin 2012, il a d'ailleurs fait un geste significatif envers la communauté Open Source en rendant son code public.