Kafka Streams & Confluent KSQL

Développer des applications de stream-processing au dessus de Kafka
Sommaire

     NOUVEAU

Disponible en distanciel

Prochaine session : 15-17 JUIN 2020

Au cours de ce cours pratique, vous apprendrez à utiliser Confluent KSQL et la librairie Apache Kafka Streams dans le but de développer des applications de streaming.

Vous apprendrez le rôle du streaming dans la construction le pipeline de distribution de données moderne, discuterez des concepts architecturaux et des différents composants de la plateforme Confluent.



Fondamentaux


  • Les logs
  • La réplication des logs
  • Les concepts de Topics, de Partitions et de Segments
  • Kafka Streams
  • Dualité entre les notions de Stream et Table
  • Stream–Table Dualism
  • Les jobs de Stream Processing

Cas d'utilisation de KSQL


  • Pourquoi KSQL
  • Exemples de cas d’utilisations
  • KSQL et licensing

Vue d'ensemble de KSQL et écosystème


  • KSQL + Kafka = Easy
  • Utilisation interactive de KSQL
  • Architecture de KSQL
  • KSQL CLI
  • Les modes serveur de KSQL
  • KSQL et Confluent Control Center (C3)

Utiliser KSQL


  • Kafka Streams et Tables
  • Message Kafka et formats de données
  • Manipulation et agrégation de données
  • Fonctions définies par l'utilisateur (UDF)
  • Enrichissement des données et jointures
  • Agrégations fenêtrées (Windowed opération)
  • Métrique et observabilité
  • Tests et monitoring
  • Astuces, pièges et limitations

Déploiement et utilisation de KSQL


  • Les bonnes pratiques et patterns
  • Sécuriser KSQL
  • Élasticité et évolutivité
  • Tolérance aux pannes
  • Healthcheck

Architecture de Kafka Streams


  • Motivation et évolution
  • Les caractéristiques
  • Liberté de choix
  • Kafka Streams Application Anatomie
  • Anatomie d’une application Streams
  • Configuration d’une application Streams
  • Topologie d’une application Streams

Kafka Streams DSL


  • Opérations Stateless et Stateful
  • Kafka Streams DSL
  • Les opération de type fenêtre glissante
  • L’API processeur

Test des applications Kafka Streams


  • Les catégories de test
  • Tests unitaires
  • Tests d'intégration avec Test Driver et Kafka embarqué

Surveillance des applications Kafka Streams


  • Utilisation de la surveillance basée sur JMX
  • Utilisation de Confluent Control Center pour la surveillance

Sécurisation des applications Kafka Streams


  • Pourquoi la sécurité est nécessaire
  • Aperçu de la sécurité
  • Fonctions de sécurité côté client
  • Les ACLs requis
  • Chiffrement des données en transit

Dimensionnement et mise à l'échelle des applications Kafka Streams


  • Scalabilité et élasticité
  • Définir le nombre d’instances par application
  • Gestion de la mémoire
  • Dimensionnement et positionnement des tâches
  • Stateless vs Stateful
  • Troubleshooting