Master the essentials of Kafka with our "Kafka Fundamentals" course. Learn about Kafka architecture, topics, and APIs, and gain hands-on experience with AVRO, Schema Registry, SpringBoot, and streaming pipelines. Perfect for developers and data engineers looking to build and optimize real-time data processing applications.
To be determined
Kafka Fundamentals is a comprehensive course designed to provide you with a deep understanding of Apache Kafka, one of the most popular platforms for building real-time data pipelines and streaming applications. This course is ideal for developers, data engineers, and system architects who want to learn how to design, build, and manage Kafka-based solutions effectively.
The course begins with an exploration of Kafka’s architecture, where you’ll learn how to plan and design your own distributed queue. You’ll address key questions related to message format, consumption patterns, data persistence, and retention, and understand how to support multiple producers and consumers efficiently.
Next, you’ll dive into Kafka topics, console producers, and console consumers, learning how to create topics with multiple partitions, ensure data replication, and manage message order and data skew. You’ll also gain practical experience in optimizing message writing and reading for different use cases, including low latency and maximum compression scenarios.
The course then covers working with Kafka using various programming languages, including Java, Scala, and Python. You’ll build simple consumers and producers, manage consumer groups, and handle transactions. This module also explores integration with Web UI and REST APIs.
A dedicated module on AVRO and Schema Registry follows, where you’ll learn how to add and manage AVRO schemas, build AVRO consumers and producers, and use Schema Registry to ensure data consistency. You’ll also learn how to handle errors using specific error topics.
In the SpringBoot and SpringCloud module, you’ll learn how to integrate Kafka with Spring applications. You’ll write templates for Spring Apps, add Kafka Templates for producers and consumers, and modify Spring Boot to work in asynchronous mode. The course also covers streaming pipelines, where you’ll compare Kafka Streams, KSQL, Kafka Connect, Akka Streams, Spark Streaming, and Flink. You’ll learn how to build robust streaming pipelines and manage checkpoints, backpressure, and executor management.
Finally, the course concludes with Kafka monitoring, where you’ll learn how to build and manage Kafka metrics using tools like Grafana, ensuring your Kafka deployments are optimized and well-monitored.
Learning Outcomes: By the end of this course, participants will:
Upon completion of the "Kafka Fundamentals" course, trainees will be able to:
Developers, Architects, Data Engineers
Development experience in Java (over 6 months)
1. Module 1: Kafka Architecture: theory 2h / practice 1.5h
2. Module 2: Kafka-topics, console-consumer, console-producer: theory 2h / practice 1.5h
3. Module 3: Web UI + Java, Scala, Python API + other languages (via Rest): theory 2h / practice 1.5h
4. Module 4: AVRO + Schema Registry: theory 2h / practice 1.5h
5. Module 5: SpringBoot + SpringCloud: theory 2h / practice 1.5h
Homework:
6. Module 6: Streaming Pipelines (Kafka Streams + KSQL + Kafka Connect vs Akka Streams vs Spark Streaming vs Flink), theory 2h / practice 1.5h
Homework:
7. Module 7: Kafka Monitoring, theory 2h / practice 1.5h
Homework:
Build several metrics in Grafana
Total: theory 14h (58%) / practice 10h (42%)
Oleksandr Holota
Big Data and ML Trainer