RabbitMQ
Office de la Formation Professionnelle
et de la Promotion du Travail
‫المهني‬ ‫التكوين‬ ‫مكتب‬
‫الشغل‬ ‫وإنعاش‬
Institut Spécialisé de Technologie Appliquée
TAOURIRT
Réalisé par :
 Mohamed Nhiri
 El Houcine Qara
Encadré par :
 Tayeb Bachaoui
Groupe : DD202
Année de formation : 2022-2023
PLAN
1 Définition de RabbitMQ.
2 Notion de message, Queue, Exchange de RabbitMQ.
3 Communication entre microservices avec RabbitMQ.
4 Installation et configuration de RabbitMQ.
Définition de RabbitMQ
1 Définition de RabbitMQ
 RabbitMQ est un système de messagerie qui permet aux applications de
communiquer entre elles de manière asynchrone.
 Il utilise des files d'attente (Queues) pour stocker et transmettre les messages
entre les applications, et prend en charge plusieurs protocoles de messagerie,
tels que AMQP, MQTT et STOMP.
 RabbitMQ est open-source, facile à installer et à utiliser, et dispose d'une
documentation complète ainsi que d'une communauté active pour fournir un
support et des conseils en cas de besoin.
Notion de message, Queue,
Exchange de RabbitMQ
2 Notion de message, Queue, Exchange de RabbitMQ
Broker
Publisher
Producer
Consumer
Subscriber
Reçoit les messages
Applications qui traitent les messages
Applications qui publient les messages
Pub/Sub
2 Notion de message, Queue, Exchange de RabbitMQ
Message :
 Un message est une unité de données qui contient les informations
que vous souhaitez envoyer à un destinataire
 Les messages sont généralement stockés sous forme de chaînes de
caractères, mais ils peuvent également être représentés sous forme
de tableaux, de fichiers binaires ou d'autres formats. les messages
sont souvent des demandes de traitement ou des notifications à
envoyer à un ou plusieurs consommateurs (Consumers).
 Chaque message est associé à une clé de routage (routing key) qui
permet de l'acheminer vers l'échange (exchange) approprié.
2 Notion de message, Queue, Exchange de RabbitMQ
Exchange :
 L’échange (exchange) est un élément qui reçoit les messages des
producteurs et les distribue aux files d'attente (queues)
correspondantes.
 L'échange agit comme un point central de routage pour les messages.
 Lorsqu'un message est envoyé à un échange, l'échange utilise la clé de
routage pour déterminer quelle(s) queue(s) doit recevoir ce message.
 Il existe plusieurs types d'échanges dans RabbitMQ,
2 Notion de message, Queue, Exchange de RabbitMQ
Exchange :
Il existe plusieurs types d'échanges dans RabbitMQ :
• Direct exchange : envoie le message à la queue avec la clé de routage
exacte du message.
• Topic exchange : utilise des expressions de routage pour acheminer les
messages à une ou plusieurs queues correspondantes.
• Header exchange : utilise des en-têtes de message pour acheminer les
messages à une ou plusieurs queues correspondantes.
• Fanout exchange : envoie le message à toutes les queues liées à l'échange,
sans utiliser de clé de routage.
2 Notion de message, Queue, Exchange de RabbitMQ
Exchange :
Un échange peut être déclaré avec plusieurs attributs, tels que :
• Le nom de l'échange.
• Le type de l'échange.
• La durabilité (durable ou transient) : si l'échange est déclaré comme
durable, il sera conservé même en cas de redémarrage du serveur
RabbitMQ.
• La suppression automatique : si l'échange est déclaré avec l'option de
suppression automatique, il sera supprimé dès qu'il n'a plus aucune queue
qui y est attachée.
2 Notion de message, Queue, Exchange de RabbitMQ
Queue :
 Ce sont des files d'attente où les messages sont stockés jusqu'à ce
qu'un consommateur les récupère.
 Les messages sont ajoutés à la queue par les producteurs à partir de
l’exchange et récupérés par les consomateurs.
2 Notion de message, Queue, Exchange de RabbitMQ
Producteur Exchange Queue
msg
Consomateur
Question : Qui signifie cette partie ?
La réponse : RabbitMQ Slide 6
Indication !!! MQ
2 Notion de message, Queue, Exchange de RabbitMQ
Producteur Exchange Queue
msg
Consomateur
Question : Quel élément reçoit le message dans RabbitMQ?
La réponce : exchange
2 Notion de message, Queue, Exchange de RabbitMQ
Producteur Exchange Queue
msg
Consomateur
binding
Binding : C’est le processus de la
liaison entre Exchange et Queue
With a
routing key
2 Notion de message, Queue, Exchange de RabbitMQ
Producteur Exchange Queue
msg
Consomateur
binding
Exmple : Le producteur envoie un
message M
- l’exchange envoye M aux Q1 et Q2
With a
routing key
Exchange Q2
M
Q1
Q2
2 Notion de message, Queue, Exchange de RabbitMQ
Producteur Exchange Queue
msg
Consomateur
binding
With a
routing key
Subscribe
Consumer
2 Notion de message, Queue, Exchange de RabbitMQ
- Comment ajouter un exchange ?
1. Connectez-vous à l'interface de gestion de RabbitMQ
http://localhost:15672/
2. Cliquez sur l'onglet "Exchanges" dans la barre de
navigation.
3. Cliquez sur le bouton "Add a new Exchange" en haut à droite de
la page.
4. Remplissez les informations nécessaires pour l'échange, telles
que le nom de l'échange, le type d'échange et les
arguments facultatifs.
5. Cliquez sur le bouton "Add Exchange" pour enregistrer
l'échange.
2 Notion de message, Queue, Exchange de RabbitMQ
- Comment lier un Exchange avec un Queue ?
2 Notion de message, Queue, Exchange de RabbitMQ
- Comment envoyer un message vers un Queue ?
Installation et configuration
de RabbitMQ.
 Comment Installer RabbitMQ :
Le serveur RabbitMQ nécessite Erlang OTP pour fonctionner.
• Note
:
Etape 1 :Installer RabbitQM
https://rabbitmq.com/install-windows.html
• Ouvrir l’interface web
RabbitMQe sur :
• Après le téléchargement, Lancer er
terminer l’installation :
Etape
2:
Installer Erlang OTP
• Ouvrir l’interface Erlang OTP
web sur : https://www.erlang.org/downloads
Cliquez ici pour twlecharger :
• Après le téléchargement, Lancer et
terminer l’installation :
• Pour Démarrer Rabbit MQ :
 Aaller dans le menu Démarrer de Windows Et
Rechercher «RabbitMQ »
 Cliquer sur « RabbitMQ Service Start »
• Pour Arrêter Rabbit MQ :
 Aaller dans le menu Démarrer de Windows Et
Rechercher «RabbitMQ »
 Cliquer sur « RabbitMQ Service Stop »
Etape 3
:
Pour Démarrer/Arrêter RabbitMQ:
Etape
4:
Console D’Administration :
 La console est disponible via
le plugin :rabbitmq_management
• Pour Activer Le Plugin:
 Ouvrir un terminal de commandes .
 Aller dans le répertoire "sbin " de
RabbitMQ .
 Lancer la commande suivante: ./rabbitmq-
plugins.bat enable rabbitmq_management
• Aller sur l'URL : http://localhost:15672/
Installer Java 11+
Etape 2
:
Etape 5
:
Login
• Utiliser guest/guest pour se connecter et
changer le mot de passe

RabbitMQ.pptx

  • 1.
    RabbitMQ Office de laFormation Professionnelle et de la Promotion du Travail ‫المهني‬ ‫التكوين‬ ‫مكتب‬ ‫الشغل‬ ‫وإنعاش‬ Institut Spécialisé de Technologie Appliquée TAOURIRT Réalisé par :  Mohamed Nhiri  El Houcine Qara Encadré par :  Tayeb Bachaoui Groupe : DD202 Année de formation : 2022-2023
  • 2.
    PLAN 1 Définition deRabbitMQ. 2 Notion de message, Queue, Exchange de RabbitMQ. 3 Communication entre microservices avec RabbitMQ. 4 Installation et configuration de RabbitMQ.
  • 3.
  • 4.
    1 Définition deRabbitMQ  RabbitMQ est un système de messagerie qui permet aux applications de communiquer entre elles de manière asynchrone.  Il utilise des files d'attente (Queues) pour stocker et transmettre les messages entre les applications, et prend en charge plusieurs protocoles de messagerie, tels que AMQP, MQTT et STOMP.  RabbitMQ est open-source, facile à installer et à utiliser, et dispose d'une documentation complète ainsi que d'une communauté active pour fournir un support et des conseils en cas de besoin.
  • 5.
    Notion de message,Queue, Exchange de RabbitMQ
  • 6.
    2 Notion demessage, Queue, Exchange de RabbitMQ Broker Publisher Producer Consumer Subscriber Reçoit les messages Applications qui traitent les messages Applications qui publient les messages Pub/Sub
  • 7.
    2 Notion demessage, Queue, Exchange de RabbitMQ Message :  Un message est une unité de données qui contient les informations que vous souhaitez envoyer à un destinataire  Les messages sont généralement stockés sous forme de chaînes de caractères, mais ils peuvent également être représentés sous forme de tableaux, de fichiers binaires ou d'autres formats. les messages sont souvent des demandes de traitement ou des notifications à envoyer à un ou plusieurs consommateurs (Consumers).  Chaque message est associé à une clé de routage (routing key) qui permet de l'acheminer vers l'échange (exchange) approprié.
  • 8.
    2 Notion demessage, Queue, Exchange de RabbitMQ Exchange :  L’échange (exchange) est un élément qui reçoit les messages des producteurs et les distribue aux files d'attente (queues) correspondantes.  L'échange agit comme un point central de routage pour les messages.  Lorsqu'un message est envoyé à un échange, l'échange utilise la clé de routage pour déterminer quelle(s) queue(s) doit recevoir ce message.  Il existe plusieurs types d'échanges dans RabbitMQ,
  • 9.
    2 Notion demessage, Queue, Exchange de RabbitMQ Exchange : Il existe plusieurs types d'échanges dans RabbitMQ : • Direct exchange : envoie le message à la queue avec la clé de routage exacte du message. • Topic exchange : utilise des expressions de routage pour acheminer les messages à une ou plusieurs queues correspondantes. • Header exchange : utilise des en-têtes de message pour acheminer les messages à une ou plusieurs queues correspondantes. • Fanout exchange : envoie le message à toutes les queues liées à l'échange, sans utiliser de clé de routage.
  • 10.
    2 Notion demessage, Queue, Exchange de RabbitMQ Exchange : Un échange peut être déclaré avec plusieurs attributs, tels que : • Le nom de l'échange. • Le type de l'échange. • La durabilité (durable ou transient) : si l'échange est déclaré comme durable, il sera conservé même en cas de redémarrage du serveur RabbitMQ. • La suppression automatique : si l'échange est déclaré avec l'option de suppression automatique, il sera supprimé dès qu'il n'a plus aucune queue qui y est attachée.
  • 11.
    2 Notion demessage, Queue, Exchange de RabbitMQ Queue :  Ce sont des files d'attente où les messages sont stockés jusqu'à ce qu'un consommateur les récupère.  Les messages sont ajoutés à la queue par les producteurs à partir de l’exchange et récupérés par les consomateurs.
  • 12.
    2 Notion demessage, Queue, Exchange de RabbitMQ Producteur Exchange Queue msg Consomateur Question : Qui signifie cette partie ? La réponse : RabbitMQ Slide 6 Indication !!! MQ
  • 13.
    2 Notion demessage, Queue, Exchange de RabbitMQ Producteur Exchange Queue msg Consomateur Question : Quel élément reçoit le message dans RabbitMQ? La réponce : exchange
  • 14.
    2 Notion demessage, Queue, Exchange de RabbitMQ Producteur Exchange Queue msg Consomateur binding Binding : C’est le processus de la liaison entre Exchange et Queue With a routing key
  • 15.
    2 Notion demessage, Queue, Exchange de RabbitMQ Producteur Exchange Queue msg Consomateur binding Exmple : Le producteur envoie un message M - l’exchange envoye M aux Q1 et Q2 With a routing key Exchange Q2 M Q1 Q2
  • 16.
    2 Notion demessage, Queue, Exchange de RabbitMQ Producteur Exchange Queue msg Consomateur binding With a routing key Subscribe Consumer
  • 17.
    2 Notion demessage, Queue, Exchange de RabbitMQ - Comment ajouter un exchange ? 1. Connectez-vous à l'interface de gestion de RabbitMQ http://localhost:15672/ 2. Cliquez sur l'onglet "Exchanges" dans la barre de navigation. 3. Cliquez sur le bouton "Add a new Exchange" en haut à droite de la page. 4. Remplissez les informations nécessaires pour l'échange, telles que le nom de l'échange, le type d'échange et les arguments facultatifs. 5. Cliquez sur le bouton "Add Exchange" pour enregistrer l'échange.
  • 18.
    2 Notion demessage, Queue, Exchange de RabbitMQ - Comment lier un Exchange avec un Queue ?
  • 19.
    2 Notion demessage, Queue, Exchange de RabbitMQ - Comment envoyer un message vers un Queue ?
  • 20.
  • 21.
     Comment InstallerRabbitMQ : Le serveur RabbitMQ nécessite Erlang OTP pour fonctionner. • Note : Etape 1 :Installer RabbitQM https://rabbitmq.com/install-windows.html • Ouvrir l’interface web RabbitMQe sur : • Après le téléchargement, Lancer er terminer l’installation :
  • 22.
    Etape 2: Installer Erlang OTP •Ouvrir l’interface Erlang OTP web sur : https://www.erlang.org/downloads Cliquez ici pour twlecharger : • Après le téléchargement, Lancer et terminer l’installation :
  • 23.
    • Pour DémarrerRabbit MQ :  Aaller dans le menu Démarrer de Windows Et Rechercher «RabbitMQ »  Cliquer sur « RabbitMQ Service Start » • Pour Arrêter Rabbit MQ :  Aaller dans le menu Démarrer de Windows Et Rechercher «RabbitMQ »  Cliquer sur « RabbitMQ Service Stop » Etape 3 : Pour Démarrer/Arrêter RabbitMQ:
  • 24.
    Etape 4: Console D’Administration : La console est disponible via le plugin :rabbitmq_management • Pour Activer Le Plugin:  Ouvrir un terminal de commandes .  Aller dans le répertoire "sbin " de RabbitMQ .  Lancer la commande suivante: ./rabbitmq- plugins.bat enable rabbitmq_management
  • 25.
    • Aller surl'URL : http://localhost:15672/ Installer Java 11+ Etape 2 : Etape 5 : Login • Utiliser guest/guest pour se connecter et changer le mot de passe