Florian travaille depuis plus de 8 ans dans le conseil, il est co-fondateur et CEO de StreamThoughts. Au cours de sa carrière, il a travaillé sur divers projets impliquant la mise en oeuvre de plateformes d’intégration et de traitement de la data à travers les mondes technologiques de Hadoop et de Spark. Passionné par les systèmes distribués, il se spécialise dans les technologies d’event-streaming comme Apache Kafka, Apache Pulsar. Aujourd’hui, il accompagne les entreprises dans leur transition vers les architectures orientées streaming d’événements. Florian est certifié Confluent Administrator & Developer pour Apache Kafka. Il est nommé deux années consécutive (2019 et 2020) “Confluent Community Catalyst” pour ses contributions sur le projet Apache Kafka Streams et son implication dans la communauté open-source. Il fait partie des organisateurs du Paris Apache Kafka Meetup.
Kafka for Developers Training
Building Event-driven applications with Apache Kafka
For more information about this training course, please free to contact :
training@streamthoughts.io
Description
Ce cours de 3 jours apprend aux participants à utiliser la plateforme Apache Kafka pour développer des applications orientées événements à travers : Kafka Core, Kafka Connect et Kafka Streams. Il traite aussi les meilleures pratiques de développement.
Course Objectives
This course enables participants to acquire the following skills:
- Understanding the uses of the Apache Kafka solution.
- Understanding the fundamental concepts of the Apache Kafka architecture.
- Create Java applications to produce and consume data with the Kafka Client API.
- Use Kafka Connect to integrate data between Kafka and other systems.
- Create data streaming applications with KafkaStreams and ksqlDB.
Pedagogy
50% théorie, 50% pratique
Who Should Attend ?
Ce cours est destiné aux Développeurs, aux Architectes et aux Data Ingénieurs qui ont besoin de créer des pipelines d'intégration de données, en temps réel, à travers Apache Kafka.
Course Duration
3 Days
Course Prerequisites
Les participants doivent être familiarisés avec le développement en Java. Aucune connaissance préalable de Apache Kafka n’est nécessaire
Course Content
Module 1: Introduction
- Event Streaming, the motivations ?
- What is Apache Kafka
- The Apache Kafka project
- The key benefits of Kafka
- What is it used for ?
- The alternative solutions
- The Confluent Streaming Platform
Module 2: Kafka Fundamentals
- Broker, Message, Topic & Partitions
- Producers Basics
- Consumers & Consumer Groups
- Replication & Fault-tolerance
- Data retention and compression
- Understanding Zookeeper’s roles
- Understanding Kafka’s performance
Module 3: Kafka’s Architecture
- Kafka’s Storage Layer
- Understanding Data Replication
- Producer’s Delivery Acknowledgment
- Consumer Groups and Partition Assignment
- Guarantee the Order of Messages
Module 4: The Producer API
- Producer API Basics
- Message Serialization
- Understanding Write-Path
- Controlling Message Delivery
- Throughput vs Latency
Module 5: The Consumer API
- Consumer API Basics
- Controlling Consumer Positions
- Committing Consumer Offsets
- Multi-threaded Consumption
- Understanding Kafka Consumer Lag
- Throughput vs Latency
Module 6: Consumer: Advanced Development
- Understanding the Consumer Life Cycle
- How to implement a Partition Assignor ?
- Decoupling Consumption and Processing
- How to use Consumer Interceptors
- Tips: Synchronizing co-located partitions
- Tips: Handing Consumer Errors
Module 7: Producer: Advanced Development
- Understanding Kafka Transaction
- How to write a Custom Partition ?
- How to use Producer Interceptors ?
Module 8: Managing Schema
- Data Serialization
- Introduction Avro
- Managing Schema Evolution
- Why Using a Schema Registry ?
Module 9: More advanced Development
- Using the AdminClient API
- Testing Producers
- Testing Consumers
- Testing with TestContainer for Apache Kafka
Module 10: Data Integration with Kafka Connect
- Introduction to Kafka Connect
- Kafka Connect Architecture
- Converters
- Single Message Transforms
- Deployment Modes
- Connectors Configuration
- REST API
Module 11: Stream Processing with Kafka Streams
- Introducton to Kafka Streams
- Kafka Streams Concepts: Stream & Table
- Processor API and Streams DSL Basics
- Windowed Aggregations, Join Operations
- Introduction to ksqlDB
Module 12: Basic Kafka Administration
- How to Install and Configure Kafka
- Managing Topic Configuration
- Monitoring Solutions