Plan du site  
pixel
pixel

Articles - Étudiants SUPINFO

Initiation à l'utilisation de RabbitMQ

Par Yann SIDO Publié le 13/08/2015 à 14:58:18 Noter cet article:
(0 votes)
Avis favorable du comité de lecture

Mise en garde : le projet de ce tutoriel est réalisé en C# via Visual Studio, il est donc indispensable pour le suivre d'avoir connaissance des bases de ce langage ainsi que du fonctionnement du logiciel.

Introduction : qu'est ce que RabbitMQ ?

rabbitMQ est un message broker implémentant un protocole que queueing (AMQP), c'est à dire qu'il permet d'envoyer, recevoir, stocker et router des messages.

L'intérêt principal est de pouvoir communiquer facilement et rapidement entre plusieurs machines, tout en restant très organisé.

Par exemple : les machines d'un parc informatique vont envoyer leurs rapports d'erreur dans RabbitMQ où ceux-ci seront groupés par type, afin qu'un ou plusieurs contrôleurs puissent récupérer ces messages et les gérer.

Installation du serveur RabbitMQ

Tout d'abord, ils nous faut installer le serveur RabbitMQ qui gérera les messages. Pour ce faire, il suffit de télécharger le fichier correspondant (ici Windows) à l'adresse suivante : http://www.rabbitmq.com/download.html

L'installateur nous demande d'installer également Erlang et nous propose de nous emmener directement sur la page de téléchargement de ce dernier, alors nous le suivons !

Une fois tout cela installé, nous sommes fin prêts à attaquer le code en lui même.

Création du projet et intégration de RabbitMQ

Tout d'abord, nous allons créer un nouveau projet console sous Visual Studio.

Via le gestionnaire de package NuGet, nous installons ensuite RabbitMQ.Client avant d'ajouter dans le code l'instruction using RabbitMQ.Client;

Création d'un objet contenant les messages d'erreur

Dans notre exemple, nous allons simuler la publication de différents messages d'erreur, pour ce faire, nous allons tout d'abord créer un objet contenant un champ pour le type d'erreur, et un pour le corps du message.

Ensuite, nous allons créer un timer qui crée une erreur avec un type aléatoire à intervalle régulier.

Connexion à Rabbit, création des queues et publication des messages

Suite à cela, nous allons nous connecter à Rabbit et créer nos queues.

On publie désormais les messages d'erreurs dans les queues correspondantes.

Récupération des messages de la queue voulue

Dans la console, on demande le numéro de la queue Rabbit que l'utilisateur veut récupérer

On se connecte à Rabbit avec le numéro récupéré.

On affiche enfin les messages récupérés lorsque ceux-ci arrivent.

Le résultat devrait se présenter comme suit.

Conclusion

Nous avons réussi (si tout va bien) à publier et récuérer des messages dans RabbitMQ. L'étape suivante serait bien évidemment d'avoir un serveur dédié auquel envoyer les messages de différentes sources.

Voici le code complet :

A propos de SUPINFO | Contacts & adresses | Enseigner à SUPINFO | Presse | Conditions d'utilisation & Copyright | Respect de la vie privée | Investir
Logo de la société Cisco, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société IBM, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sun-Oracle, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Apple, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sybase, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Novell, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Intel, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Accenture, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société SAP, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Prometric, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Toeic, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo du IT Academy Program par Microsoft, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management

SUPINFO International University
Ecole d'Informatique - IT School
École Supérieure d'Informatique de Paris, leader en France
La Grande Ecole de l'informatique, du numérique et du management
Fondée en 1965, reconnue par l'État. Titre Bac+5 certifié au niveau I.
SUPINFO International University is globally operated by EDUCINVEST Belgium - Avenue Louise, 534 - 1050 Brussels