Formations Architecture

Logo RabbitMQ

Formation RabbitMQ

Mettre en place simplement une architecture orientée messages fiable et performante avec RabbitMQ

Durée 3 jours • Prix (HT) 1690€

Logo OfficielleOfficielle
Logo CertifianteProgramme

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