Aller au contenu principal
  • Cours pratique
  • Informatique

Formation RabbitMQ

Savoir installer simplement une architecture fiable et performante orientée messages avec RabbitMQ

Demander un devis
Une formatrice accompagne deux participants penchés sur leurs notes, en salle de formation
Durée
3 jours
Niveau
Intermédiaire
Modalités
Présentiel / Distanciel

Description de la formation RabbitMQ

Cette formation RabbitMQ couvre l’installation, la configuration et le développement d’applications orientées message.

Le cours commence par l’installation et la configuration de RabbitMQ. Il se poursuit en traitant du développement d’applications avec l’API Java.

Le cours aborde aussi des sujets avancés tels que le clustering pour la montée en charge et la haute-disponibilité, ainsi que le monitoring d’un cluster RabbitMQ.

Atelier en salle : une participante présente des notes au tableau

Objectifs pédagogiques

Concrètement, à l'issue de cette formation RabbitMQ vous aurez acquis les connaissances et les compétences nécessaires : 

  • Comprendre l’architecture de RabbitMQ et le fonctionnement d’un système de messagerie orienté messages
  • Installer et configurer RabbitMQ
  • Activer et utiliser des plugins comme la console de management web
  • Intégrer RabbitMQ avec des applications au moyen de bibliothèques clientes dans différents langages
  • Mettre en œuvre les mécanismes de routage, de files, d’échanges et d’acquittement
  • Garantir la fiabilité des échanges et la bonne livraison des messages
  • Choisir une stratégie de haute disponibilité et la mettre en pratique
  • Paramétrer et optimiser RabbitMQ pour obtenir de meilleures performances
  • Sécuriser et Monitorer RabbitMQ

Objectifs opérationnels

Savoir déployer, configurer, exploiter et intégrer RabbitMQ dans des architectures distribuées, afin de fiabiliser les échanges asynchrones, superviser la plateforme et améliorer ses performances.

Programme

Contenu du cours

Introduction au messaging et à AMQP

Avantages du messaging et des systèmes asynchrones
Pourquoi Java Message Service (JMS) n’est pas suffisant
Le modèle Advanced Message Queuing Protocol (AMQP)
Différences entre AMQP et JMS

Présentation de RabbitMQ

Description et principales fonctionnalités
Installation, structure des répertoires, configuration
Persistance avec la base de données Mnesia
Console de management web
Architecture multi-tenant avec les hôtes virtuelles
Journalisation avec le firehose tracer

Développement et intégration

Bindings clients (Java, C#, Python, Ruby, etc)
Principes d’utilisation des API clientes
Abstractions de plus haut niveau et frameworks d’intégration
Routage AMQP avec exchanges et queues
Patterns de messaging

Fiabilisation des applications de messaging

Durabilité niveau queue, exchange et message
Transactions avec AMQP et JMS
Transaction et acquittement
Dead lettering
Bonnes pratiques pour fiabiliser les flots de messages

Clustering

Architecture orientée message scalable avec le clustering
Configuration d’un cluster
Nœuds de types Disk et RAM
Administration d’un cluster
Load balancing

Plugins

Authentification avec LDAP
Exposition d’AMQP via le protocol STOMP
Intégration de brokers différents avec Shovel
Fédération d’instances RabbitMQ à travers un WAN

Haute disponibilité

Gestion du crash d’un nœud
« Mirrored queues »
Synchronisation entre nœuds esclaves
Failover coté client

Performances

Impacts de la configuration et du code client sur les performances
Contrôle du débit par la mémoire
Bonnes pratiques

Bibliothèques clientes et intégration applicative

Panorama des bibliothèques clientes RabbitMQ et critères de choix
Principes communs d’intégration : connexion, canaux, publication, consommation, acquittements
Mise en œuvre avec les clients Python, JavaScript, C# et Java
Spécificités d’intégration avec Spring AMQP / Spring Rabbit
Sérialisation des messages et interopérabilité entre applications
Gestion des erreurs, retry, rejet et dead lettering côté client

Sécurité

Pourquoi sécuriser la communication AMQP
Gestion des utilisateurs
Sécuriser RabbitMQ au niveau protocole (SSL/SASL)
Mise en place des permissions avec des hôtes virtuelles

Monitoring

API de management
Intégration avec les outils de supervision
Métriques à monitorer

Travaux pratiques

Chaque chapitre est accompagné de travaux pratiques. Les travaux pratiques représentent 50% du temps de la formation.

Programme mis à jour le 29/04/2026

Formations liées