SlideShare une entreprise Scribd logo
1  sur  25
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

Contenu connexe

Tendances

Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdf
boulonvert
 
La spécification des besoins
La spécification des besoinsLa spécification des besoins
La spécification des besoins
Ismahen Traya
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Sofien Benrhouma
 

Tendances (20)

The RabbitMQ Message Broker
The RabbitMQ Message BrokerThe RabbitMQ Message Broker
The RabbitMQ Message Broker
 
projet sur le vpn presentation
projet sur le vpn presentationprojet sur le vpn presentation
projet sur le vpn presentation
 
Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdf
 
Architecture microservices avec docker
Architecture microservices avec dockerArchitecture microservices avec docker
Architecture microservices avec docker
 
Android-Tp5 : web services
Android-Tp5 : web servicesAndroid-Tp5 : web services
Android-Tp5 : web services
 
MOM - Message Oriented Middleware
MOM - Message Oriented MiddlewareMOM - Message Oriented Middleware
MOM - Message Oriented Middleware
 
Architectures orientés services (SOA)
Architectures orientés services (SOA)Architectures orientés services (SOA)
Architectures orientés services (SOA)
 
La spécification des besoins
La spécification des besoinsLa spécification des besoins
La spécification des besoins
 
Introduction au Cloud Computing
Introduction au Cloud Computing Introduction au Cloud Computing
Introduction au Cloud Computing
 
Sécurité des Applications Web avec Json Web Token (JWT)
Sécurité des Applications Web avec Json Web Token (JWT)Sécurité des Applications Web avec Json Web Token (JWT)
Sécurité des Applications Web avec Json Web Token (JWT)
 
Mise à niveau d’un système de gestion de clientèle (CRM)
Mise à niveau d’un système de gestion de clientèle (CRM)Mise à niveau d’un système de gestion de clientèle (CRM)
Mise à niveau d’un système de gestion de clientèle (CRM)
 
eServices-Chp5: Microservices et API Management
eServices-Chp5: Microservices et API ManagementeServices-Chp5: Microservices et API Management
eServices-Chp5: Microservices et API Management
 
Cloud Computing presentation
Cloud Computing presentationCloud Computing presentation
Cloud Computing presentation
 
Sockets
SocketsSockets
Sockets
 
Chp1 - Introduction au Développement Mobile
Chp1 - Introduction au Développement MobileChp1 - Introduction au Développement Mobile
Chp1 - Introduction au Développement Mobile
 
Module rh de l'ERP Odoo (ex OpenERP)
Module rh de l'ERP Odoo (ex OpenERP)Module rh de l'ERP Odoo (ex OpenERP)
Module rh de l'ERP Odoo (ex OpenERP)
 
Indexation et ri
Indexation et riIndexation et ri
Indexation et ri
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
 
Rapport pfe
Rapport pfeRapport pfe
Rapport pfe
 
Messaging Standards and Systems - AMQP & RabbitMQ
Messaging Standards and Systems - AMQP & RabbitMQMessaging Standards and Systems - AMQP & RabbitMQ
Messaging Standards and Systems - AMQP & RabbitMQ
 

Similaire à RabbitMQ.pptx

AMQP: interopérabilité et découplage de systèmes hétérogènes avec RabbitMQ
AMQP: interopérabilité et découplage de systèmes hétérogènes avec RabbitMQAMQP: interopérabilité et découplage de systèmes hétérogènes avec RabbitMQ
AMQP: interopérabilité et découplage de systèmes hétérogènes avec RabbitMQ
Microsoft
 
Parlez vous IoT - Présentation du protocole MQTT
Parlez vous IoT - Présentation du protocole MQTTParlez vous IoT - Présentation du protocole MQTT
Parlez vous IoT - Présentation du protocole MQTT
Arnaud Thorel
 
Multicast en IPv6
Multicast en IPv6Multicast en IPv6
Multicast en IPv6
Mounia EL
 
VTP(Virtual Trunking Protocol)
VTP(Virtual Trunking Protocol)VTP(Virtual Trunking Protocol)
VTP(Virtual Trunking Protocol)
Sirine Ibrahim
 

Similaire à RabbitMQ.pptx (20)

Condensé de mom illustré
Condensé de mom illustréCondensé de mom illustré
Condensé de mom illustré
 
Rabbitmq
RabbitmqRabbitmq
Rabbitmq
 
Architectures des applications pour l internet des objets : les files de mess...
Architectures des applications pour l internet des objets : les files de mess...Architectures des applications pour l internet des objets : les files de mess...
Architectures des applications pour l internet des objets : les files de mess...
 
AMQP: interopérabilité et découplage de systèmes hétérogènes avec RabbitMQ
AMQP: interopérabilité et découplage de systèmes hétérogènes avec RabbitMQAMQP: interopérabilité et découplage de systèmes hétérogènes avec RabbitMQ
AMQP: interopérabilité et découplage de systèmes hétérogènes avec RabbitMQ
 
Etat de l’art des communications basées sur Mach (1995)
Etat de l’art des communications basées sur Mach (1995)Etat de l’art des communications basées sur Mach (1995)
Etat de l’art des communications basées sur Mach (1995)
 
Parlez vous IoT - Présentation du protocole MQTT
Parlez vous IoT - Présentation du protocole MQTTParlez vous IoT - Présentation du protocole MQTT
Parlez vous IoT - Présentation du protocole MQTT
 
SSL/TSL Protocols
SSL/TSL ProtocolsSSL/TSL Protocols
SSL/TSL Protocols
 
MPI.pdf
MPI.pdfMPI.pdf
MPI.pdf
 
vpn
vpnvpn
vpn
 
Projet MQTT
Projet MQTTProjet MQTT
Projet MQTT
 
IoT Toulouse : introduction à mqtt
IoT Toulouse : introduction à mqttIoT Toulouse : introduction à mqtt
IoT Toulouse : introduction à mqtt
 
Cours 2 les architectures reparties
Cours 2 les architectures repartiesCours 2 les architectures reparties
Cours 2 les architectures reparties
 
Vpn
VpnVpn
Vpn
 
Multicast en IPv6
Multicast en IPv6Multicast en IPv6
Multicast en IPv6
 
Cours SNMP
Cours SNMPCours SNMP
Cours SNMP
 
VTP(Virtual Trunking Protocol)
VTP(Virtual Trunking Protocol)VTP(Virtual Trunking Protocol)
VTP(Virtual Trunking Protocol)
 
Architecture orientée message.pdf
Architecture orientée message.pdfArchitecture orientée message.pdf
Architecture orientée message.pdf
 
SNMP
SNMPSNMP
SNMP
 
Réseau de capteurs sans fil
Réseau de capteurs sans fil  Réseau de capteurs sans fil
Réseau de capteurs sans fil
 
Socket tcp ip client server on langace c
Socket tcp ip client server on langace c Socket tcp ip client server on langace c
Socket tcp ip client server on langace c
 

RabbitMQ.pptx

  • 1. 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
  • 2. 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.
  • 4. 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.
  • 5. Notion de message, Queue, Exchange de RabbitMQ
  • 6. 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
  • 7. 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é.
  • 8. 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,
  • 9. 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.
  • 10. 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.
  • 11. 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.
  • 12. 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
  • 13. 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
  • 14. 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
  • 15. 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
  • 16. 2 Notion de message, Queue, Exchange de RabbitMQ Producteur Exchange Queue msg Consomateur binding With a routing key Subscribe Consumer
  • 17. 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.
  • 18. 2 Notion de message, Queue, Exchange de RabbitMQ - Comment lier un Exchange avec un Queue ?
  • 19. 2 Notion de message, Queue, Exchange de RabbitMQ - Comment envoyer un message vers un Queue ?
  • 21.  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 :
  • 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é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:
  • 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 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