StreamThoughts
REMOTE

Kafka for Developers Training

Building Event-driven applications with Apache Kafka

Price : 1750€ H.T. - per attendee

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
    The Author's Avatar
    Instructor

    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.