Skip to Content
Kafka

Kafka

Maîtriser les concepts fondamentaux de Kafka


Référence ITL-KAFK-F
Durée 3 jour(s)

Pour une session intra ou sur mesure

Demander un devis

Kafka est une plateforme de streaming distribuée permettant une gestion performante des flux de données en temps réel, une fiabilité à toute épreuve, une évolutivité facile, une intégration aisée et transparente et un modèle de publication/abonnement flexible, idéale pour les systèmes distribués et les applications orientées événements en temps réel.

Objectifs pédagogiques

Les objectifs pour un candidat ayant suivi cette formation sont :

  • Identifier les principaux composants et avantages de Kafka.
  • Installer et configurer Apache Kafka.
  • Utiliser les APIs pour les producers et consumers.
  • Mettre en œuvre et administrer Apache Kafka.
  • Utiliser Kafka Connect pour l'intégration de données.
  • Appliquer les principes fondamentaux de Kafka Streams.
  • Assurer la sécurité et l'authentification dans Kafka.

Public concerné

Développeurs Java de tous niveaux, Architectes.

Prérequis

  • Maîtriser le langage Java (POO, streams, etc.)
  • Avoir une connaissance de Spring serait un plus.

Programme de la formation

Concepts et fondamentaux de Kafka

  • Introduction. 
  • Vue ensemble de Kafka.
  • Les Producers.
  • Les Brokers.
  • Les Consumers.
  • Utilisation de Zookeeper.
  • Installation et configuration. 
  • Les partitions et les groupes de consommation pour la scalabilité.

Architecture Kafka

  • Architecture générale : vue d’ensemble.
  • Les fichiers de logs de Kafka.
  • Réplications et cohérence des données.

Développer avec Kafka

  • Accéder à Kafka avec un programme client. 
  • Développer un Producer en Java. 
  • Utilisation des APIs REST pour produire des données.
  • Développer un Consumer en Java.
  • Utilisation des APIs REST pour consommer des données.

Gestion des schémas dans Kafka

  • Introduction à Avro.
  • Les schémas Avro.
  • Utilisation du SchemaRegistry.

KAFKA CONNECT : intégrer des systèmes avec Kafka

  • Les Motivations pour Kafka Connect.
  • Les Concepts.
  • Les modes de déploiements (standalone/distributed).
  • Configuration en mode distribué.
  • Gestion des Offsets.
  • Configuration d'un connecteur.

Kafka Streams

  • Cas d’usages et principes de base.
  • Exemple d’utilisation de l’API Streams.
  • Configuration et test d’une application Kafka Streams.
  • Mise en place d'une programmatique de topologie.
  • DSL comparaison avec processor API.
  • Sources et destinations Kafka.
  • Transformation stateless.
  • Transformations stateful : agrégations, jointures, fenêtrage.
  • Requêtes interactives.
  • Kafka Streams et Tables.
  • Message Kafka et Formats de données.
  • Manipulation et agrégation de données.
  • Fonctions définies par l'utilisateur (UDF).
  • Enrichissement des données et jointures.

Mise en place de la sécurité 

  • Comprendre les enjeux et les principes de sécurité d’un système Kafka.
  • Utiliser le protocole SSL/TLS pour le cryptage et l’authentification.
  • Utiliser la couche SASL pour l’authentification.
  • Utiliser des listes de contrôle ACL pour les autorisations.

Administration

  • Réplication de données.
  • Récupération en cas d’échec.
  • Fichiers de journalisation et gestion des offsets.
  • Gestion de la configuration.
  • Surveillance.
  • Rétention et compactage des journaux.
  • Mise en service et gestion des Brokers.

Moyens pédagogiques

Ateliers pratiques.