RabbitMQ, conception et exploitation de systèmes de messagerie asynchrones
Objectifs de la formation
- Installer et configurer RabbitMQ
- Activer et utiliser des plugins comme la console de management web
- Implémenter des applications de messaging en Java
- Monter un cluster RabbitMQ
- Choisir une stratégie de haute disponibilité et la mettre en pratique
- Paramétrer et optimiser RabbitMQ pour obtenir de meilleures performances
- Sécuriser RabbitMQ
- Monitorer RabbitMQ
Programme de la formation
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)
- Focus sur le binding Java
- Abstractions de plus haut niveau (Spring AMQP, Pika)
- 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
SpringAMQP
- AMQP template
- Configuration des ressources AMQP avec Spring
- Envoi et réception de messages
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
MOYENS PÉDAGOGIQUES ET TECHNIQUES D’ENCADREMENT DES FORMATIONS
Modalités pédagogiques :
- Évaluation des besoins et du profil des participants.
- Apport théorique et méthodologique : séquences pédagogiques regroupées en différents modules.
- Contenus des programmes adaptés en fonction des besoins identifiés pendant la formation.
- Le formateur évalue la progression pédagogique du participant tout au long de la formation au moyen de travaux pratiques, étude de cas et mise en situation.
- Méthodes expositive, active et participative.
- Réflexion et échanges sur cas pratiques.
- Retours d'expériences.
- Corrections appropriées et contrôles des connaissances à chaque étape, fonction du rythme de l’apprenant mais également des exigences requises au titre de la formation souscrite.
Éléments matériels :
- Mise à disposition des outils nécessaires au bon déroulement des travaux pratiques.
- Support de cours au format numérique projeté sur écran et transmis au participant en fin de la formation.
Référent pédagogique et formateur :
- Chaque formation est sous la responsabilité du directeur pédagogique de l’organisme de formation.
- Le bon déroulement est assuré par le formateur désigné par l’organisme de formation.
MOYENS PERMETTANT LE SUIVI ET L’APPRÉCIATION DES RÉSULTATS
- Feuilles de présences signées des participants et du formateur par demi-journée.
- Attestation de fin de formation mentionnant les objectifs, la nature et la durée de l’action et les résultats de l’évaluation des acquis de la formation.
Please login to get access to the quiz
Back to Développer des Webservices