Apache Kafka

Savoir utiliser les composants principaux de Kafka et comprendra l’architecture de base d’Apache Kafka


Description de la formation

À l'issue de cette formation, le stagiaire sera capable de construire une application publiant des données sur un cluster Apache Kafka. Il connaîtra les concepts liés à Core Kafka, à Kafka Connect et à Kafka Streams. Il sera également capable de manipuler des pipelines de données et les API disponibles, d’utiliser les composants principaux de Kafka et comprendra l’architecture de base d’Apache Kafka.


Objectifs pédagogiques

- Comprendre l’architecture Kafka et son mode de fonctionnement dans un contexte multi-clients - Publier et récupérer des données vers un cluster Kafka - Utiliser les outils et les API permettant l’interaction avec un cluster Kafka - Sécuriser les données à destination et en provenance d’un cluster Kafka - Créer vos propres Consumers et Producers - Implémenter un consumer mutli-thread - Utiliser un proxy REST - Stocker des données Avro dans Kafka avec le Schema Registry - Ingestion de données avec Kafka Connect

Public visé

- Développeurs informatiques - Architectes techniques - Administrateurs systèmes - DevOps

Prérequis de la formation

- Connaissances de base d’un système Unix - Connaissances dans un langage de développement moderne (Python, Java, Scala)

Programme de la formation (personnalisable)

Introduction

  • Le traitement en temps réel : une importance business
  • Kafka : Une plateforme de données de flux

Les fondamentaux

  • Un aperçu de Kafka et efficacité
  • Producers
  • Brokers
  • Consumers
  • Utilisation de ZooKeeper

Architecture

  • Fichiers journaux de Kafka
  • Réplication et fiabilité
  • Chemins d'écriture et de lecture de Kafka
  • Partitions, Consumer Groups et Scalability

Développer avec Kafka

  • Utiliser Maven pour la gestion de projet
  • Accéder par programmation à Kafka
  • Écrire un Producer (exemple écrit en Java)
  • Utiliser REST API pour écrire un Producer
  • Écrire un Consumer (exemple écrit en Java)
  • Utiliser REST API pour écrire un Consumer

 

Développement avancé avec Kafka

  • Créer un Consumer Multi-Thread
  • Gestion des Offsets
  • Consumer Rebalancing (rééquilibrage)
  • Gestion manuelle des Offsets (Commits)
  • Partitionnement des données
  • Message Durability : gestion de la durée des messages

 

Schema Management

  • Introduction à Avro
  • Avro Schemas
  • Utilisation du Schema Registry

 

Kafka Connect : Data Movement

  • Cas d'utilisation de Kafka Connect
  • Les bases de Kafka Connect
  • Modes : Standalone and Distributed
  • Configuration du mode distribué
  • Tracking Offsets
  • Connector Configuration
  • Comparaison d'utilisation avec des options avancées

 

Installation & Administration

  • Installation et options
  • Considération matérielle (Hardware)
  • Administrer Kafka

 

Kafka Streams

  • Cas d'utilisation de Kafka Streams
  • Kafka Streams : les fondamentaux Fundamentals
  • Étude d'une application et usage de Kafka Streams

 

Tuning & Supervision avancé (Module Optionnel) - 2 jours

  • Log Compaction
  • Configuration Settings
  • Hardware and Capacity Planning
  • Traitement des Oversized Messages
  • Monitoring & Alerte
  • ZooKeeper and OS-Level Monitoring
  • Key Kafka Metrics
  • Cluster Administration
  • Key Cluster Administration Tasks
  • Replicating Clusters avec MirrorMaker
  • Kafka Security
  • SSL for Encryption and Authentication
  • SASL for Authentication
  • Authorization
  • Migration vers Secure Cluster