Apache Kafka : les fondamentaux

Description de la formation

Dans le contexte de la modernisation numérique, l’usage de l’architecture événementielle propulsée en autre par Apache Kafka est de plus en plus fort dans les entreprises.

Le but de cette formation est d’acquérir des bases solides dans la compréhension du fonctionnement de Apache Kafka, ainsi que concevoir des premiers Producer, Consumer et Kafka Streams en Java, ainsi que savoir utiliser les outils utiles pour les manipulations basiques.

Cette formation permettra aux participants de comprendre les aspects essentiels de Apache Kafka. Des petits cas d’usages seront présentés en guise d’exercices pratiques pour valider la bonne compréhension tout au long de la formation.

Objectifs pédagogiques

À la fin de cette formation, vous serez en mesure de :

  • Comprendre les notions de l’architecture événementielle
  • Avoir une compréhension intermédiaire (vision développeur) de Apache Kafka
  • Concevoir des flux de données avec Apache Kafka avec notamment le calcul de throughput et du sizing du cluster Kafka
  • Développer des applications simples en Java avec un Producer, Consumer et un KStreams
  • Comprendre le fonctionnement du Schema Registry ainsi que les avantages et enjeux reliés à son usage
  • Acquérir des bases sur des cas d’erreurs courants
  • Comprendre les éléments clés à surveiller pour l’opérationnalisation

Méthodologie

Plusieurs méthodes d’apprentissage et outils didactiques permettant de mesurer votre progrès et votre intégration des concepts par les participants sont utilisés tout au long de la formation.


Exposé interactif (60 %), exercices théoriques et pratiques (40 %)

Clientèle visée

Développeur ou Devops avec une connaissance de Java ayant un intérêt pour l'architecture événementielle et/ou Apache Kafka

Particularité

Vous devez installer/ou télécharger sur votre ordinateur : Java JDK, un IDE (NetBeans, Eclipse ou intelliJ), Maven/gradle, Docker / Docker Compose, Apache Kafka (pour le CLI) une connection Internet non bridée par un firewall

À savoir lorsque cette formation est en ligne

Nos formations en ligne sont diffusées sous forme de classes virtuelles interactives et nous travaillons avec la plateforme Zoom.

Vous devez avoir un ordinateur avec un bon accès à Internet ainsi qu'une caméra, un micro et des haut-parleurs afin de participer à la formation. Pour faciliter les échanges avec le formateur ou la formatrice et les autres participants et participantes, ainsi que pour être en mesure de participer au volet pratique de la formation, la caméra doit être fonctionnelle et ouverte tout au long de la formation, à défaut de quoi votre participation pourrait être refusée.

    Architecture orientée événements

    • Objectifs
    • Définition d’un événement et d’un flux d’événements
    • Event Sourcing versus Event Stream Processing

    Cas d’usage de l’architecture événementielle

    • Calcul du throughput
    • Sensibilisation au format de données et à son impact
    • Sémantiques de garantie de livraison
    • Ordre des événements

    Apache Kafka - les fondamentaux

    • L’architecture de Apache Kafka
    • Broker
    • Topic / partition / segment / offset
    • Producer, compréhension de l'acknowledgment des messages, anatomie d’un message et sérialisation
    • Consumer, désérialisation, stratégie de commit
    • Consumer group
    • Bases sur la sécurité avec Apache Kafka
    • Utilisation du Kafka CLI (exercices pratiques)
    • Développer son premier Producer / Consumer (exercices pratiques)

    Apache Kafka - notions avancées

    • Rétention et compaction des messages
    • Lien entre la réplication, le min insync replicas et le acks
    • Impacts de la réplication
    • Nombre de partitions : comment le déterminer
    • Producer : équilibre entre throughput et latence
    • Consumer et ses principales configurations
    • Modification des configurations pour voir les impacts (exercices pratiques)

    Schema Registry

    • Présentation globale et explications sur Avro
    • Développement d’un Producer et d’un Consumer avec un schéma (exercices pratiques)
    • Dead Letter Queue et Poison Pill (exercices pratiques)

    Kafka Streams

    • Fonctionnement général (Topology, DSL, KStream, KTable, GlobalKTable)
    • Agrégation de données sur le temps (Windowing)
    • Développement de KStreams (stateless, stateful et avec windowing)

    Opérationnalisation, monitoring et alerting

    • Métriques Broker, Producer, Consumer, KStreams
    • Usage des commandes CLI pour le monitoring et cas d’usage courants (exercices pratiques)