Hier soir, Valtech a eu le plaisir d'accueillir le WSUG pour sa 3° rencontre ayant pour thématique: RabbitMQ. Florent Biville accompagné de Yoann Henry, tous deux animateurs du WSUG, a d'abord présenté le WSUG. C'est un user-group communautaire autour des technologies Spring. Ensuite, la présentation d'Alvaro Videla a porté sur la construction d'un système distribué d'ingestion de données avec RabbitMQ.
Tout d'abord, qu'est-ce-que RabbitMQ ? C'est un Serveur de Messagerie Multi-protocole écrit en Erlang. Il s'appuie sur le framework OTP qui améliore la productivité des développeurs en fournissant des librairies et des principes de design (base de donnée distribuée, des applications pour interfacer d'autres langages, des outils de debugging et de gestion de relase). RabbitMQ supporte plusieurs protocoles de messages. Au niveau des technologies client, c'est polyglote. Citons : java, ERlang, .Net, Haskell et même Cobol ! De nombreuses entreprises ont déjà RabbitMQ en production. Par exemple, si vous lisez ce blog avec Firefox, sachez que le composant serveur chez Mozilla qui récupèrera un rapport de plantage utilise RabbitMQ.
Alvaro, qui ne manque pas d'humour, a ensuite présenté son super soft de simulation : RabbitMQ Simulator ! C'est une application web qui permet de modéliser la structure de vos producteurs, consommateur, queue et exchange (pour le routing). Ensuite, un bouton “send” permet d'envoyer des messages qui sont représentés comme de petits cercles qui transitent sur les fils du réseau. On visualise alors le routage des messages, le temps de traitement des queues, le nombre de messages en rétention dans la file. C'est simple, très visuel, efficace et didactique. Un player permet de rejouer une séquence préalablement exportée. Cela permet même de produire une documentation avec des animations pour bien faire comprendre la topologie.
Après cette présentation, nous sommes arrivés à la description du problème : votre compagnie possède 4 sites d'exploitation à travers le monde. Le besoin est de centraliser l'information dans l'un de ces sites. Grâce à RabbitMQ et son concept de fédération, vous pouvez mettre en place la réplication des données. A noter qu'un plugin de sharding est en préparation.
Cette soirée était très réussie avec quelques retours sur twitter:
Félicitation à Alvaro pour le talk de qualité et longue vie au WSUG, même s'il va changer de nom pour gagner en visibilité.