StreamThoughts
REMOTE

Apache Kafka pour Développeurs

Développer des applications event-driven avec Apache Kafka

Prix : 1980€ H.T. - par participant

Pour plus d'informations sur cette formation, veuillez contacter :
training@streamthoughts.io

Description

Ce cours de 3 jours apprend aux participants à utiliser la plateforme Apache Kafka pour développer des applications orientées événements à travers : Kafka Core, Kafka Connect et Kafka Streams. Il traite aussi les meilleures pratiques de développement.

Objectifs du cours

Ce cours permet aux participants d'acquerir les compétences suivante :

  • Comprendre les usages de la solution Apache Kafka.
  • Comprendre les concepts fondamentaux de l'architecture Apache Kafka.
  • Créer des applications pour produire et consommer des données avec l'API Client.
  • Utiliser Kafka Connect pour intégrer des données entre Kafka et d'autres systèmes.
  • Créer des applications de streaming de données avec KafkaSTreams et ksqlDB.

Pédagogie

50% théorie, 50% pratique

Qui Peut Participer ?

Ce cours est destiné aux Développeurs, aux Architectes et aux Data Ingénieurs qui ont besoin de créer des pipelines d'intégration de données, en temps réel, à travers Apache Kafka.

Durée

3 Jours

Pré-requis

Les participants doivent être familiarisés avec le développement en Java. Aucune connaissance préalable de Apache Kafka n’est nécessaire

Programme de formation

Module 1 : Introduction

  • Event Streaming, Les Motivations ?
  • Qu’est-ce qu’ Apache Kafka ?
  • Le projet Apache Kafka
  • Les principaux avantages de Kafka
  • Quel sont les usages ?
  • Les solutions alternatives
  • La plate-forme Confluent

Module 2 : Kafka, Les Fondamentaux

  • Broker, Message, Topic & Partitions
  • Principes de bases des Producers
  • Consumers & Consumer Groups
  • Réplication et tolérance à la panne
  • Rétention et compression des données
  • Comprendre les rôles de zookeeper
  • Comprendre les performances de Kafka

Module 3 : Architecture Kafka

  • La couche de stockage de Kafka
  • La réplication des données
  • Acknowledgment des messages
  • Consumer Groups et assignations des partitions
  • Garantie de l’ordre des messages

Module 4 : L’API Producer

  • Les bases de l’API Java, Producer
  • La sérialisation des messages
  • Comprendre le “write-path”
  • Contrôle de la diffusion des messages
  • Débit et latence

Module 5 : L’API Consumer

  • Les bases de l’API Java, Consumer
  • Contrôler la position des consumers
  • Gestion des Offsets
  • Consumers Multi-thread
  • Comprendre le lag des consumers
  • Débit et latence

Module 6 : Consumer - Développement avancé

  • Comprendre le cycle de vie des Consumers
  • Implémenter un Partition Assignor
  • Découpler consommation et traitement
  • Utilisation des Consumer Interceptors
  • Synchroniser des partitions colocalisées.
  • Traitement des erreurs de consommation

Module 7 : Producer - Développement avancé

  • Comprendre les transactions Kafka.
  • Implémenter un partitionneur personnalisé
  • Utilisation des Interceptors

Module 8 : Gestion des schémas

  • La sérialisation des données
  • Introduction à Avro
  • Gérer l’évolution des schémas
  • Comprendre le rôle d’un Schema Registry

Module 9 : Développement plus avancé

  • Utiliser l’API AdminClient
  • Tester des Producers
  • Tester des Consumers
  • Introduction à TestContainer pour Apache Kafka

Module 10 : Intégration de données avec Kafka Connect

  • Introduction à Kafka Connect
  • Architecture de Kafka Connect
  • Les Converters
  • Single Message Transforms (SMTs)
  • Les modes de déploiements
  • Configuration des connecteurs
  • L’API REST

Module 11 : Traitement de données avec Kafka Streams

  • Introduction à Kafka Streams
  • Les concepts: Streams et Tables
  • Les bases de l’API Processor et du Streams DSL
  • Les agrégations fenêtrées et les jointures
  • Introduction à ksqlDB

Module 12 : Administration de base de Kafka

  • Installer et configurer des brokers
  • Gestion de la configuration des topics
  • Les solutions de Monitoring
The Author's Avatar
formateur référent

Florian travaille depuis plus de 8 ans dans le conseil, il est co-fondateur et CEO de StreamThoughts. Au cours de sa carrière, il a travaillé sur divers projets impliquant la mise en oeuvre de plateformes d’intégration et de traitement de la data à travers les mondes technologiques de Hadoop et de Spark. Passionné par les systèmes distribués, il se spécialise dans les technologies d’event-streaming comme Apache Kafka, Apache Pulsar. Aujourd’hui, il accompagne les entreprises dans leur transition vers les architectures orientées streaming d’événements. Florian est certifié Confluent Administrator & Developer pour Apache Kafka. Il est nommé deux années consécutive (2019 et 2020) “Confluent Community Catalyst” pour ses contributions sur le projet Apache Kafka Streams et son implication dans la communauté open-source. Il fait partie des organisateurs du Paris Apache Kafka Meetup.