- Confluent
- Cours pratique
- Informatique
Formation Développer des microservices événementiels avec Quarkus et Kafka Reactive Messaging
Concevoir et déployer des microservices Quarkus via Kafka avec l’API Reactive Messaging

- Durée
- 2 jours
- Niveau
- Intermédiaire
- Modalités
- Présentiel / Distanciel
Description de la formation Quarkus Kafka
Qu’est-ce que Quarkus Reactive Messaging et Kafka ?
Quarkus est un framework Java moderne, cloud-native et ultra-rapide, conçu pour GraalVM et OpenJDK HotSpot. Il simplifie le développement d’applications microservices et événementielles. Kafka, de son côté, est une plateforme de streaming distribuée idéale pour le traitement d’événements en temps réel. L’extension SmallRye Reactive Messaging Kafka fournit une intégration native entre Quarkus et Kafka : elle permet de créer des producteurs et consommateurs réactifs à l’aide d’annotations simples, sans gérer manuellement les threads ou les offsets. Les Dev Services Kafka de Quarkus permettent en outre de démarrer automatiquement un broker Kafka pour le développement et les tests, éliminant les contraintes d’installation.
Pourquoi suivre une formation Quarkus Reactive Messaging et Kafka ?
L’architecture événementielle devient un standard dans les systèmes distribués. Cette formation vous apprend à maîtriser le modèle réactif de Quarkus pour Kafka, à comprendre les mécanismes d’acknowledgment et de commit, à gérer les transactions et la sérialisation avancée (Avro + Schema Registry), et à assurer la résilience et la supervision de vos flux. Une courte introduction à l’API kafka-client classique est donnée pour situer les différences, mais l’essentiel de la formation est consacré à SmallRye Reactive Messaging.

Objectifs pédagogiques
À l'issue de cette formation Quarkus et Kafka Reactive Messaging, vous aurez acquis les connaissances nécessaires pour :
- Comprendre les principes de l’architecture événementielle et du modèle réactif
- Configurer et utiliser les Dev Services Kafka pour le développement local
- Implémenter la production et la consommation d’événements Kafka dans Quarkus
- Maîtriser les stratégies d’acknowledgment et de commit
- Gérer les traitements bloquants et non-bloquants, ainsi que les transactions
- Sérialiser les messages avec Avro et utiliser le Schema Registry
- Gérer les erreurs et mettre en place des mécanismes de reprise
- Tester et déployer une architecture réactive complète
Objectifs opérationnels
Savoir concevoir, développer, tester et déployer des microservices Quarkus réactifs communiquant via Kafka avec l’extension Reactive Messaging.
Programme
Contenu du cours, module par module
8 modules
- Rappel des concepts Kafka : brokers, topics, partitions, offsets
- Positionnement de Kafka dans une architecture microservices
- Présentation de Quarkus et de SmallRye Reactive Messaging
- Découverte des Dev Services Kafka pour le développement local
- Comparaison rapide avec l’API kafka-client classique
Travaux pratiques
Description : Génération d’un projet Quarkus, ajout de l’extension Reactive Messaging, démarrage automatique d’un broker Kafka avec Dev Services. Comment valider que le broker est bien lancé ?
- Annotations @Outgoing et @Incoming
- Structure d’un message réactif (clé, valeur, métadonnées)
- Configuration des canaux Kafka dans application.properties
- Sérialisation simple (String, JSON)
- Observation des flux via Quarkus Dev UI
Travaux pratiques
Description : Mise en œuvre d’un producteur d’événements JSON et d’un consommateur qui les affiche. Comment vérifier le bon routage des messages ?
- Types réactifs supportés (Uni, Multi, CompletionStage)
- Différence entre traitement bloquant et non-bloquant
- Usage de @Blocking et @NonBlocking
- Propagation de contexte et parallélisation
Travaux pratiques
Description : Simulation d’un enrichissement d’événement via appel externe. Quand faut-il marquer une méthode @Blocking ?
- Compréhension du cycle d’un message dans Reactive Messaging
- Modes d’acknowledgment : pré-traitement, post-traitement, manuel
- Gestion du commit Kafka et impacts sur la redelivery
- Utilisation de Message et de IncomingKafkaRecordMetadata
Travaux pratiques
Description : Expérimentation de différents comportements (auto-commit, ack manuel). Comment garantir au mieux la livraison exactement une fois ?
- Transaction Kafka vs transaction applicative
- Combiner Kafka et une base de données (JPA, Panache)
- Garantir la cohérence entre traitement local et commit Kafka
- Implémentation d’un pattern outbox simplifié
Travaux pratiques
Description : Persister un message traité et publier un événement dans la même transaction. Comment éviter la double écriture ?
- Introduction à Avro et à Confluent Schema Registry
- Configuration du serializer/déserializer Avro dans Quarkus
- Gestion des schémas et évolution des versions
- Validation des messages reçus
Travaux pratiques
Description : Définition d’un schéma Avro, envoi et réception d’un message conforme. Comment réagir à une évolution de schéma incompatible ?
- Gestion d’erreurs dans Reactive Messaging : @Retry, @Fallback, dead letter topics
- Distinction entre erreur de traitement et erreur réseau
- Monitoring et métriques des échecs
- Bonnes pratiques de résilience
Travaux pratiques
Description : Ajout d’une politique de retry et de DLQ (dead letter queue). Quelle approche privilégier pour un service critique ?
- Tests unitaires et d’intégration avec Dev Services Kafka
- Profils Quarkus (dev, test, prod) et isolation des configurations
- Supervision avec Micrometer et Prometheus
- Déploiement sur Docker ou Kubernetes
Travaux pratiques
Description : Exécution des tests intégrés, visualisation des métriques et déploiement sur un environnement conteneurisé. Comment valider le bon fonctionnement en production ?
Travaux pratiques
Utilisation de Quarkus CLI, Dev Services Kafka, Docker et Schema Registry. Environ 65 % de la formation est consacrée à la pratique.
Programme mis à jour le 29/04/2026
Public concerné
Ce cours s'adresse aux développeurs Java, ingénieurs backend et architectes souhaitant construire des systèmes événementiels performants et résilients avec Quarkus et Kafka.

Prérequis
Bonne connaissance du langage Java et des microservices. Notions de base en Kafka ou en programmation asynchrone recommandées.
J’évalue mes connaissances pour vérifier que je dispose des prérequis nécessaires pour profiter pleinement de cette formation en faisant le test de prérequis.
Faire le testFinancement
Cette formation peut être prise en charge par votre entreprise, seule ou avec l’appui de son opérateur de compétences. Nous fournissons le devis et les pièces attendues par l’OPCO.
Formations liées
- Nest.JS : Développer vos APIs avec le framework Node.JSRéf. NEST4 joursFondamentalProchaine session : 2 nov.2 490 €
- Node.js avancéRéf. NJSA3 joursAvancé
- Quarkus : bâtir une architecture microservices avec QuarkusRéf. DAMQ3 joursIntermédiaireProchaine session : 26 oct.2 090 €
- SOAP Web Services - Mise en oeuvre avec Jakarta EERéf. SWES3 joursIntermédiaireProchaine session : 14 déc.