Organisme de Formation aux technologies et métiers de L'informatique

Formation Confluent Developer Skills for Apache Kafka®

Informations générales

KAFKADEV
3 jours (21h)
2 100 €HT

Objectifs

Après ce cours, vous serez capable de :

  • Écrire aux producteurs et aux consommateurs pour envoyer et lire des données à Kafka
  • Intégrer Kafka à des systèmes externes à l’aide de Kafka Connect
  • Écrire des applications de streaming avec Kafka Streams & ksqlDB
  • Intégrer une application cliente Kafka avec Confluent Cloud

Prérequis

Pour suivre ce cours, vous devez déjà posséder les connaissances suivantes :

  • être familiarisés avec le développement d’applications professionnelles en Java (de préférence), C# ou Python.
  • Avoir suivi le cours Confluent Fundamentals pour Apache Kafka ou posséder les connaissances équivalentes

Public

Ce cours s'adresse avant tout aux personnes suivantes :

  • Expérience antérieure ou avoir suivi le cours Confluent Fundamentals pour Apache Kafka

Programme de la formation

Au cours de cette formation pratique de trois jours pour les développeurs Apache Kafka, vous apprendrez à créer une application capable de publier des données sur un cluster Kafka et d’y souscrire des données.

Vous apprendrez le rôle de Kafka dans le pipeline de distribution de données moderne, discuterez des concepts et composants architecturaux de base de Kafka et passerez en revue les API de développement Kafka.

Le cours couvre également d’autres composants de la plate-forme Confluent plus large, tels que Kafka Connect et Kafka Streams.

Fondamentaux d’Apache Kafka®

  • Expliquez la valeur d’une plate-forme de diffusion d’événements distribués
  • Expliquez comment l’abstraction de « journal » permet une plate-forme de diffusion d’événements distribuée
  • Expliquer les concepts de base de : Brokers, Topics, Partitions et Segments, Records (également appelés messages, événements), politiques de rétention, producteurs, consommateurs et sérialisation, réplication, Kafka Connect

Produire des messages pour Kafka

  • Esquissez l’architecture de haut niveau d’un producteur Kafka
  • Illustrer le partitionnement basé sur les clés
  • Expliquez la différence entre acks=0, acks=1 et acks=all
  • Configurer delivery.timeout.ms pour contrôler le comportement des nouvelles tentatives
  • Créer un fichier producer.properties personnalisé
  • Ajustez le débit et la latence à l’aide du traitement par lots
  • Créer un producteur avec Confluent REST Proxy

Consommer des messages de Kafka

  • Illustrer comment les groupes de consommateurs et les partitions offrent une évolutivité et une tolérance aux pannes
  • Accordez les consommateurs pour éviter les rééquilibrages excessifs
  • Expliquer la différence entre les stratégies d’attribution de partition « range » et « round robin »
  • Créer un fichier consumer.properties personnalisé
  • Utiliser l’API Consumer pour gérer les offsets
  • Ajuster les requêtes fetch
  • Créer un consommateur avec Confluent REST Proxy

Gestion des schémas dans Apache Kafka®

  • Décrire les schémas Kafka et leur fonctionnement
  • Utilisez le Confluent Schema Registry pour guider l’évolution du schéma
  • Écrire et lire des messages à l’aide de Kafka compatible avec les schémas

Traitement de flux avec Kafka Streams

  • Comparer KStreams à KTables
  • Créer un fichier streams.properties personnalisé
  • Expliquer ce qu’est le co-partitionnement et pourquoi il est important
  • Ecrire une application utilisant le Streams DSL (Domain-SpecificLanguage)

Pipelines de données avec Kafka Connect

  • Expliquer la motivation de Kafka Connect
  • Liste des connecteurs couramment utilisés
  • Expliquer les différences entre le mode autonome et le mode distribué
  • Configurer et utiliser Kafka Connect

Applications de streaming d’événements avec ksqlDB

  • Utiliser ksqlDB pour filtrer et transformer un flux
  • Ecrire une requête ksqlDB qui joint deux flux ou un flux et une table
  • Écrire une requête ksqlDB qui agrège les valeurs par clé et fenêtre de temps
  • Rédiger des requêtes Push et Pull et expliquer les différences entre elles
  • Créer un connecteur avec ksqlDB

Décisions de conception

  • Répertorier les moyens d’éviter les messages volumineux
  • Décider quand utiliser ksqlDB vs Kafka Streams vs Kafka Connect SMT
  • Expliquer les différences et les compromis entre les garanties de traitement
  • Traiter les décisions qui découlent du partitionnement basé sur les clés
  • Authentifier une application cliente avec un cluster Kafka sécurisé

Confluent Cloud

  • Expliquer ce que signifie « fully-managed » dans le contexte de Confluent Cloud
  • Authentifier un client Kafka sur Confluent Cloud
  • Effectuer des opérations de base avec la CLI ccloud

Méthode pédagogique

Chaque participant travaille sur un poste informatique qui lui est dédié. Un support de cours lui est remis soit en début soit en fin de cours. La théorie est complétée par des cas pratiques ou exercices corrigés et discutés avec le formateur. Le formateur projette une présentation pour animer la formation et reste disponible pour répondre à toutes les questions.

Méthode d'évaluation

Tout au long de la formation, les exercices et mises en situation permettent de valider et contrôler les acquis du stagiaire. En fin de formation, le stagiaire complète un QCM d'auto-évaluation.

Suivre cette formation à distance

  • Un ordinateur avec webcam, micro, haut-parleur et un navigateur (de préférence Chrome ou Firefox). Un casque n'est pas nécessaire suivant l'environnement.
  • Une connexion Internet de type ADSL ou supérieure. Attention, une connexion Internet ne permettant pas, par exemple, de recevoir la télévision par Internet, ne sera pas suffisante, cela engendrera des déconnexions intempestives du stagiaire et dérangera toute la classe.
  • Privilégier une connexion filaire plutôt que le Wifi.
  • Avoir accès au poste depuis lequel vous suivrez le cours à distance au moins 2 jours avant la formation pour effectuer les tests de connexion préalables.
  • Votre numéro de téléphone portable (pour l'envoi du mot de passe d'accès aux supports de cours et pour une messagerie instantanée autre que celle intégrée à la classe virtuelle).
  • Selon la formation, une configuration spécifique de votre machine peut être attendue, merci de nous contacter.
  • Pour les formations incluant le passage d'une certification la dernière journée, un voucher vous est fourni pour passer l'examen en ligne.
  • Pour les formations logiciel (Adobe, Microsoft Office...), il est nécessaire d'avoir le logiciel installé sur votre machine, nous ne fournissons pas de licence ou de version test.
  • Horaires identiques au présentiel.

Mis à jour le 23/01/2024