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
Débutant Génie logiciel Science des données

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.