Contact

Développer une application temps réel avec Kafka

 

Objectifs

  • Comprendre le fonctionnement de l'écosystème Kafka
  • Être en mesure de développer, dans tout son cycle de vie, une application de streaming, depuis la création du projet jusqu'au suivi en production

Public visé

Développeur souhaitant découvrir le monde des applications de streaming avec Kafka en vue de :

  • comprendre l'architecture des applications de streaming
  • comprendre les enjeux des applications de streaming
  • mettre en place des applications de streaming

Pré-requis

Des connaissances de bases en Java et / ou Scala.
Poste de travail avec :

  • Un IDE (type IntelliJ)
  • Docker
  • Pas de restriction réseau vers Maven Central & Docker Hub

 

Déroulé

> 1ère journée

Introduction au monde des applications de streaming

  • Qu'est-ce que le temps réel ?
  • Streaming vs Batch
  • UseCase : Micro Services
  • UseCase : Event Sourcing

Architecture de Kafka

  • Intro
  • Concepts de base de Kafka : brokers, topics, records, ...
  • Les distributions de Kafka
  • Concepts de base des clients Kafka : producers et consumers
  • Cas pratique :
    • installation d'un cluster sur le poste de travail
    • découverte des applications installées
    • création de topics

Les différents clients Kafka

  • Client CLI
  • Cas pratique : manipulation des client en CLI
  • API Bas niveau
  • Cas pratique : manipulation de l'API bas niveau
  • Kafka Connect
  • Cas pratique : configuration d'un connecteur Kafka
  • Kafka Streams
  • KSQL
  • Développer une application en temps réel avec Kafka 3
  • Autres clients

Kafka Streams : Applications Stateless

  • Concepts de base de Kafka Streams : topologies, processeurs et streams
  • Opérateurs : lecture et écriture dans des topics
  • Opérateurs : transformation stateless
  • Opérateurs : structures conditionnelles
  • Cas pratique : création d'une application Stateless

 

> 2ème journée

Kafka Streams : Donnée structurée avec Avro

  • Avro vs plain text
  • Schema Registry
  • Schema evolution
  • GenericRecord et SpecificRecord
  • Cas pratique : ajouter des schémas dans l'application stateless

Kafka Streams : Applications Statefull

  • Concept de base de Kafka Streams : l'état
  • La dualité Stream-Table
  • Opérateurs : agrégats
  • Opérateurs : jointures et fenêtrages
  • Cas pratique : création d'une application Statefull

Kafka Streams : concepts avancés

  • Processing guaranties
  • Gestion de la taille des topics : suppression et compaction
  • Gestion d'erreur : la pilule empoisonnée
  • Développer une application en temps réel avec Kafka 4
  • Accès à un système externe

Kafka Streams : Tester son application

  • Comment tester une application de streaming ?
  • Kafka Streams Test Utils
  • Mocked Streams : spécial Scala
  • Cas pratique : ajout de tests sur les applications stateless et statefull

KSQL

  • Architecture d'une application KSQL
  • Cas pratique : création d'une application Stateless avec KSQL

Une application de streaming en production

  • Gestion des logs
  • JMX et métriques
  • Les outils : gestion de cluster
  • Les outils : solutions de monitoring
  • Les outils : debug
  • Cas pratique : explorer un dashboard Grafana et ajouter une métrique business

Sécurité

  • Chiffrement
  • Authentification
  • Gestion des autorisations avec des ACL

 

Formateur
Sylvain Lequeux


Prix HT
1 500€

Dates des prochaines sessions
15 au 16 mars 2021
24 et 25 mai 2021
6 et 7 septembre 2021
6 et 7 décembre 2021

Pour vous inscire ou en savoir plus sur cette formation, veuillez nous envoyer un message via le formulaire de contact.