Aller au contenu
Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

Twitter utilise bittorrent pour ses mises à jour de serveurs

On connait tous Bittorrent et ce qui a fait le succès de ce protocole d’échange est clairement le téléchargement illégal… Mais vous savez aussi que Bittorrent est une techno merveilleuse qui est utilisée pour soulager les serveurs en permettant par exemple la diffusion de distrib Linux (ou autres OS, de jeux…etc), ou encore pour permettre la diffusion à grande échelle de films via VOD…

Mais saviez vous que Bittorrent est de plus en plus utilisé pour mettre à jour d’immenses réseaux de serveurs comme ceux de Facebook ou Twitter ?

Par exemple, chez Twitter, ils ont des centaines de serveurs… Pour mettre à jour tout ça, ils passaient par un serveur principal Git (un équivalent de SVN) sur lequel chaque serveur venait récupérer les fichiers mis à jour… Toute l’opération durait environ 15 minutes.

Schéma montrant l'utilisation de Bittorrent pour les mises à jour de serveurs Twitter

Trop long !!

Les ingénieurs de Twitter ont donc cherché une solution afin d’accélérer le processus de mise à jour et ils ont crée Murder. Murder est un moyen de distribuer des fichiers à un grand nombre de serveurs en production, en utilisant les principes de base de bittorrent. Le premier peer (client torrent) va chercher les fichiers sur le serveur mère (ici le git) puis dès qu’il en possède un petit morceau, commence à le redistribuer à ses frères, qui font de même et ainsi de suite… Même principe que lorsque vous téléchargez un film en fait.

Capture d'écran de l'interface de Bittorrent utilisée par Twitter pour les mises à jour de serveurs
Illustration montrant le fonctionnement de Bittorrent pour les mises à jour de serveurs Twitter

Ainsi, on passe à un déploiement qui prenait 15 minutes, à un déploiement qui ne prend plus que 12 secondes ! Oui ! 12 secondes, soit 75 fois plus rapide qu’avant.

Image représentant un serveur de mise à jour de Twitter utilisant Bittorrent

Murder utilise la librairie Bittornado (sous licence ouverte Apache) et est dispo en téléchargement sur Github. Si vous êtes dans un environnement où les mises à jours sont complexes et prennent du temps, l’option bittorrent est peut être une solution à étudier pour vous soulager la vie.

Photo d'un datacenter de Twitter utilisant Bittorrent pour les mises à jour de serveurs

Voici pour finir, la petite vidéo de Larry Gadea (Twitter), qui vous expliquera tout ça plus en détails…

[Source et photo]


Les articles du moment