Rajouter et utiliser un state Store dans une application Kafka Streams

Rajouter et utiliser un state Store dans une application Kafka Streams

Aperçu indisponible

Vous devez vous connecter ou vous inscrire pour voir cette leçon.

Se connecterS'inscrire

Expert Kafka : Développez des applications Streaming en Kafka Streams

Acheter maintenantEn savoir plus

1 - Installations et configurations de démarrage

  • Installer et configurer un environnement Kafka Streams - I
  • Installer et configurer un environnement Kafka Streams - II
  • Installer et configurer un environnement Kafka Streams - III3
  • Installer le DSL de Kafka Streams pour Scala

2 - Apache Kafka avancée - architecting streaming applications

  • Comprendre les problématiques streaming
  • Les challenges des problématiques streaming
  • Qu'est ce Apache Kafka ?
  • Qu'est ce qu'un Objet de données ?
  • Architecture et mécanisme de persistance de données dans Kafka
  • Demo - Architecture du stockage de Kafka
  • Comprendre la mécanique de pub-sub dans Kafka - I
  • Comprendre la mécanique de pub-sub dans Kafka - II
  • Comprendre la mécanique de tolérance aux pannes dans Kafka
  • Faire l'arbitrage entre la performance du système et la durabilité des messages
  • Comprendre les garanties de niveau de Sémantique dans Kafka
  • Les garanties de sémantique offertes par Kafka au niveau du Producer
  • Les garanties de sémantique offertes par Kafka au niveau du Consumer
  • Les garanties de sémantique offertes par Kafka au niveau des traitements
  • Rendre un Producer Kafka Exactly-Once
  • Rendre un consumer Kafka Exactly-Once / ACID - I
  • Rendre un consumer Kafka Exactly-Once / ACID - II
  • Développer une application Kafka Streams Exactly-Once

3 - Les bases du développement en Kafka Streams

  • Comprendre l'intérêt et les caractéristiques de Kafka Streams
  • Développer sa première application Kafka Streams - I
  • Développer sa première application Kafka Streams - II
  • Développer une application WordCount en Kafka Streams - I
  • Développer une application WordCount en Kafka Streams - II
  • Comprendre la topologie
  • Kafka Streams imitation d'Apache Samza

4 - Représenter les événements streaming en objets Kafka

  • Introduction à la représentation orientée-objet des événements streaming
  • Introduction au mapping des messages en abstraction orientée objet
  • Mapping orienté objet des messages avec la méthode POJO
  • Mapping orienté-objet des messages avec la méthode CASE CLASS
  • Comprendre le processus de sérialisation/Désérialisation
  • Apprendre à Sérialiser/Désérialiser un objet avec Jackson
  • Exercice : modélisez et rédigez des SerDes pour la transaction orders-OrderLines
  • Etapes de développement d'un SerDes Kafka
  • Développement d'un Sérialiseur Kafka
  • Développement d'un Désérialiseur Kafka
  • Développement d'un SerDes Kafka binaire
  • Développement d'un SerDes Kafka JSON
  • Exercice : développez un SerDes Kafka Avro
  • Résoudre le problème de T au Runtime - récupérer des types au runtime avec Scala
  • Utilisation d'un SerDes personnalisé - Généralités
  • Utilisation d'un SerDes personnalisé - la méthode automatique
  • Utilisation d'un SerDes personnalisé - Développer un Wrapper
  • Correction partielle - développer un SerDes Kafka Avro
  • Utilisation d'un SerDes personnalisé dans un Producer/Consumer Kafka
  • Résoudre les problèmes lors de l'utilisation d'un SerDes personnalisé

5 - Savoir utiliser les processeurs de Kafka Streams

  • Introduction aux processeurs de Kafka Streams
  • Savoir utiliser les Processeurs Map & MapValue
  • Savoir utiliser les Processeurs Filter & FilterNot
  • Savoir utiliser les Processeurs FlatMap & FlatMapValue
  • Savoir utiliser les Processeurs ForEach/Peek/Print
  • Savoir utiliser les Processeurs Branch() et Merge ()
  • Les Processeurs SelectKey()/ GroupByKey() & GroupBy()
  • Les Processeurs to() & through()
  • Comprendre le re-partitionnement en Kafka et le processeur repartition()
  • Transformer un KStream en KTable
  • Bonus : Savoir développer un custom Partitioner Kafka pour le routage des messages

6 - KTables, State Stores et opérations statefull

  • Définition du KTable
  • KTable vs KStream : lequel utiliser ?
  • Transformer un KTable en KStream
  • Introduction aux state stores dans Kafka Streams
  • Principes d'intégration d'un state store à une application Kafka Streams
  • Rajouter et utiliser un state Store dans une application Kafka Streams
  • Garantir la haute disponibilité et la tolérance aux pannes d'un state store
  • Principes de développement d'un processeur personnalisé
  • Développer un processeur statefull personnalisé avec TransformValue() - I
  • Développer un processeur statefull personnalisé avec TransformValue() - II
  • Exercice : implémentez un processeur personnalisé avec Process()
  • Les 6 principes fondamentaux des opérations d'agrégation en Kafka Streams
  • Le processeur d'agrégation Count()
  • Le processeur d'agrégation Reduce() - I
  • Le processeur d'agrégation Reduce() - II
  • Le processeur d'agrégation Aggregate()
  • Exercice effectuez des agrégations avec reduce() & aggregate()
  • Le fenêtrage en Kafka Streams
  • Spécifier le domaine temporel des fenêtres
  • Développer un TimeStampExtractor personnalisé
  • Développer un TimeStampExtractor personnalisé - Gérer les dates invalides
  • Choisir le type de fenêtre à implémenter
  • Implémenter les fenêtres et sessions en Kafka Streams
  • Gérer les messages retardataires dans les fenêtres
  • Jointures et paradigme des jointures continues
  • Conditions pour effectuer une jointure en Kafka Streams
  • Garantir les conditions de clés et de co-partitionnement
  • Questions par rapport aux jointures en Kafka streams
  • Jointure Kstream-à-KStream - I
  • Jointure Kstream-à-KStream - II
  • Jointure Kstream-à-KStream - III
  • Jointure KTable-à-KTable
  • Jointure KStream-à-KTable/Global KTable
  • Exercice sur les jointures

7 - Déployer des apps kafka Streams en production

  • Effectuer les Tests Unitaires d'une topologie Kafka Streams - I
  • Effectuer les Tests Unitaires d'une topologie Kafka Streams - II
  • Exercice sur les tests unitaires
  • Créer le Build de son application Kafka Streams
  • Créer le Build de son application Kafka Streams II
  • Déployer le Build d'une application Kafka Streams en production
  • Déploiement mono-thread et stratégies de scaling de Kafka Stream
  • Scaling multi-thread de vos déploiements Kafka streams
  • Scaling multi-instances & Hybride de vos déploiements Kafka streams
  • Garantir l'élasticité et la tolérance aux pannes de vos déploiements Kafka streams
  • BackPressure Management - rendre vos apps Kafka streams robustes en production
  • BackPressure Management - réfléchir sérieusement à la politique de cleanup des topics
  • Monitorer ses applications Kafka Streams en production
  • Conclusion de la Formation

Ressources

  • Check Liste - Développement d'applications Kafka Streams
  • Data pour les projets
  • kafka_2.11-2.4.0.tgz