PLB CONSULTANT : 06. Apache Kafka : centraliser les flux de données en temps réel
Organisme
92300 LEVALLOIS PERRETVoir toutes ses formationsAutres organismes proposant cette formation
Durée
Modalités
- Classe virtuelle
- Présentiel
Travaux pratiques. QCM en cours et en fin de formation. Auto-évaluation en début et en fin de formation.
Prix
Public
Architectes, Chefs de projet, Développeurs, équipes DevOps…
Pré-requis
Avoir des notions d'architectures applicatives en entreprise, des connaissances des protocoles réseaux, de bonnes connaissances en Java ou autre langage. Des connaissances en Spring ou Node.js sont recommandées.
Objectifs pédagogiques
Comprendre le fonctionnement de Kafka et les principes de communications inter applications
Acquérir les bonnes pratiques de distribution de messages
Savoir configurer Kafka pour intégrer les données de différents formats et de sources différentes
Appréhender les différentes APIs de Kafka.
Mettre en œuvre KSQL
Travailler en sécurité avec Kafka
Programme détaillé
Jour 1
Introduction à Apache Kafka
Naissance, historique, objectifs du projet
Les différents cas d'utilisation de Kafka et retours d’expérience
Event-processing vs database centric applications
Traitement de flux en temps réel, les enjeux du Big Data
Les composants du système : Zookeeper, brokers, topics, consumers, producers
Analyse préalable à la mise en service de kafka, les différents modes de distribution de message et leur garantie, bonnes pratiques
Prise en main d'un cluster Kafka
Ensemble Zookeeper, rôle de l'ensemble
Connexion cliente via zkCli.sh
Configuration d'un broker Kafka
Traces d'un broker, Structure de stockage du commit log
Utilitaires fournis par la distribution
Tâche de gestion de cluster
Atelier
Cycle de construction, déploiement dans registre et exécution d’une image
Quiz de validation des acquis de la première journée
Jour 2
Kafka APIs
Producer API, Choix de la sérialisation des données JSON, Avro, String
Consumer API, Choix du désérialiseur, Indépendance vis-à-vis du consommateur
Frameworks (Spring, Quarkus, VertX)
Connect API, Intégration et importation de données provenant d’autres systèmes, Alternatives à Connect API
Autres APIS (AdminClient et KafkaStream)
Atelier
Développement de Producteur/Consommateur de message
Kafka Streams
Typologie des processeurs, topologie de processeurs, scalabilité et tâches
Évènements et horodatage, fenêtre temporelle
Dualité des streams et des tables, agrégation, jointure
Développement avec Kafka Stream, Comparaison Processor API et DSL
Transformation stateless
Transformations stateful : agrégations, jointures, fenêtrage
Requêtes interactives
Atelier
Développement de Kstream et KTable
Quiz de validation des acquis de la deuxième journée
Jour 3
ksqlDB
ksqlDB vs Kafka Streams
Cas d’utilisation de ksqlDB
Écosystème de ksqlDB
Alternatives de mise en place
Syntaxe SQL appliquée aux Streams
Opérateurs et fonctions
API Rest
Cas d’utilisation typiques : mise à jour automatique de vues, Pipeline ETL, microservices piloté par évènements
Atelier
Déploiement stand-alone, atelier de démarrage suivi des trois cas d’utilisation typique
Sécurité
Enjeux de la sécurité des clusters Kafka
Authentification des connections clients / brokers, les différentes alternatives
Authentification des connections brokers / Zookeeper
Mise en place de TLS pour les échanges de données
Autorisation des clients, opérations read/write
Intégration avec des annuaires externes