Vous connaissez le protocole Bittorrent ?
Mais non, pas la partie de téléchargement illégal de film, musique, jeux, … non non je vous parle uniquement du protocole. C’est un protocole d’échange client/serveur ou chaque client devient serveur pour les autres clients dès qu’il à téléchargé une petite partie du programme sur le serveur d’avant.
Hein ? vous n’avez pas suivis ? C’est pourtant facile. Prenons un exemple simple, le téléchargement d’un morceau de musique.
Je veux télécharger un morceau de musique (Musique). Je lance un client Bittorrent et je lance la recherche. Mon programme me propose de le télécharger sur un serveur (Serveur-1). Je lance alors le téléchargement. Dès qu’une infime partie est téléchargée, je peux également commencer à partager à un autre utilisateur le fichier. Si un nouvel utilisateur recherche également le morceau Musique alors son programme va lui proposer de le télécharger sur Serveur-1 (même que moi) ET également sur mon PC ce qui va accélérer son téléchargement.
C’est plus clair maintenant ? oui ? Bon je continue…
Ce même constat peut-être appliqué pour les mises à jours de grands nombres de serveurs. Si je prends un exemple concret et que j’étudie le cas de Twitter. Le service Twitter utilise un très très très grand nombres de serveurs (plusieurs milliers). Lors d’une mise à jour, cette dernière doit être appliquée sur tout les serveurs. La méthode conventionnelle était que chaque serveur devait se connecter sur un serveur maître contenant les paquets, télécharger les mises à jours et les appliquer. Dans le cas de Twitter, une mise à jour prenait jusqu’à 15 minutes ce qui est beaucoup trop long.
Grâce au protocole Bittorrent, les ingénieurs de Twitter ont créés Murder. Les mises à jours ne sont plus contenues sur un serveur maître ou tous les autres viennent se connecter mais sont redistribuées aux autres dès qu’une petite partie est chargée ce qui accélère la diffusion de la mise à jour (et évite de surcharger le serveur maître).
La mise à jour passe alors de 15 minutes à 12 secondes.
Si vous gérez de grand nombre de serveur devant être mis à jour rapidement, vous aussi vous pouvez vous appuyez sur Murder. Il est disponible sir GiThub (attention, Murder nécessite la librairie BitTornado qui est sous licence ouverte Apache).
Je vous invite également à visualiser la vidéo de présentation de Murder par Larry Gadea, Ingénieur d’infrastructure chez Twitter :
Twitter – Murder Bittorrent Deploy System from Larry Gadea on Vimeo.
Twitter infrastructure engineer Larry Gadea describes Murder, a Bittorrent based deploy system for use internally within a datacenter. This was presented at CUSEC in February 2010. For source code, see http://github.com/lg/murder
Source: Korben.info administré par Monseigneur Korben, Dieu de l’internet Francophone 🙂
Laisser un commentaire