Aperçu du cours
Objectif de formation : Acquérir une compréhension des cas d’utilisation d’Apache Kafka et se familiariser avec les différentes APIs de Kafka.
Prérequis
- Connaitre le développement Java
Objectifs pédagogiques
- Comprendre l'architecture en cluster de Kafka
- Différencier les différents cas d'utilisation de Kafka
- Utiliser les APIs de Kafka pour la production et la consommation de messages
- Utiliser les APIs Kafka Connect et Kafka Admin
- Explorer les APIs Kafka Streams et le serveur kSQLDB
- Configurer les topics en fonction des exigences de fiabilité et de débit de vos applications
Public ciblé
- Architectes
- Développeurs
Programme de formation
-
Introduction à Apache Kafka (3 heures)
-
Origine et évolution d’Apache Kafka : histoire et objectifs du projet
-
Cas d’utilisation de Kafka dans différents contextes
-
Composants clés du système Kafka : ZooKeeper, brokers, topics, consumers, producers
-
Présentation des différentes APIs disponibles
-
-
Prise en main d'un cluster Kafka (6 heures)
-
Le rôle de l’ensemble ZooKeeper dans un cluster Kafka
-
Connexion et utilisation de zkCli.sh pour interagir avec ZooKeeper
-
Configuration d’un broker Kafka
-
Analyse des traces d’un broker
-
Structure de stockage du commit log dans Kafka
-
Présentation des utilitaires fournis avec la distribution de Kafka
-
Travaux pratiques : Démarrage d’un ensemble ZooKeeper, connexion à un cluster Kafka à trois nœuds, création de topics, envoi et réception de messages en utilisant les commandes en ligne
-
-
Les APIs de Kafka (6 heures)
-
Présentation des APIs pour les producteurs (Producers API) et les consommateurs (Consumers API)
-
Exemples de frameworks utilisant Kafka
-
Utilisation de l’API Connect pour intégrer Kafka à d’autres systèmes
-
Présentation de l’API AdminClient pour la gestion des ressources Kafka
-
Introduction à l’API Streams pour le traitement des flux de données en temps réel
-
Travaux pratiques : Développement d’un producteur de messages, puis d’un consommateur, utilisation d’un framework réactif, utilisation de l’API Connect avec ELK (Elasticsearch, Logstash, Kibana)
-
-
Réplication et fiabilité (6 heures)
-
Stockage des partitions, segments et gestion de la rétention des données dans Kafka
-
Réplication des partitions : rôles des leaders, des followers et des ISR (In-Sync Replicas)
-
Fonctionnement du contrôleur Kafka, arrêt d’un broker leader ou d’un follower
-
Ajout d’un nouveau broker dans un cluster Kafka existant
-
Assurer la fiabilité de la production et de la consommation des messages
-
Présentation des sémantiques de livraison : Au plus une fois (At Most Once), Au moins une fois (At Least Once), Une seule fois (Exactly Once)
-
Outils de validation pour garantir la transmission des messages
-
Travaux pratiques : Implémentation des différentes sémantiques de livraison, tests avec redémarrage de brokers et changement de consommateur
-