Apache Kafka
for Developers
Workshop
2 Days
@jaceklaskowski
/
Medium
/
StackOverflow
/
GitHub
/
LinkedIn
The "Internals" Books:
books.japila.pl
* **Jacek Laskowski** is a Freelance Data Engineer * Specializing in [Apache Spark](https://books.japila.pl/apache-spark-internals/), [Delta Lake](https://books.japila.pl/delta-lake-internals/), [Databricks](https://databricks.com), [Apache Kafka](https://books.japila.pl/kafka-internals/), [Kafka Streams](https://books.japila.pl/kafka-streams-internals/), [ksqlDB](https://books.japila.pl/ksqldb-internals/) * Development | Consulting | Training | Mentoring | Speaking * Best known by [The Internals Of](https://books.japila.pl) online books * 📨 jacek@japila.pl * Follow [@JacekLaskowski](https://twitter.com/jaceklaskowski) on twitter * Connect on [LinkedIn](https://www.linkedin.com/in/jaceklaskowski/) ❤️
# Goal
Practical understanding of
Apache Kafka
for Developers
## Agenda 1. [Day 1](#/day1) — Kafka Fundamentals 1. [Day 2](#/day2) — Kafka Development
## Day 1 — Kafka Fundamentals 1. [The Essentials of Apache Kafka](apache-kafka-essentials.html) * [Exercise: Installing and Running Kafka](https://jaceklaskowski.github.io/kafka-workshop/exercises/kafka-exercise-Installing-and-Running-Kafka-Broker.html) * KRaft 1. Developing Kafka Applications * [Exercise: Developing Kafka Producer](https://jaceklaskowski.github.io/kafka-workshop/exercises/kafka-exercise-Developing-Kafka-Producer.html) * [Exercise: Developing Kafka Consumer](https://jaceklaskowski.github.io/kafka-workshop/exercises/kafka-exercise-Developing-Kafka-Consumer.html) 1. Kafka Client and Broker Configuration * [Exercise: Configuring Multi-Broker Kafka Cluster](https://jaceklaskowski.github.io/kafka-workshop/exercises/kafka-exercise-Configuring-Multi-Broker-Kafka-Cluster.html) 1. [Managing Kafka Topics](kafka-managing-kafka-topics.html) * [Exercise: Using kafka-topics with Multi-Broker Cluster](https://jaceklaskowski.github.io/kafka-workshop/exercises/kafka-exercise-Using-kafka-topics-with-Multi-Broker-Cluster.html)
## Day 2 — Kafka Development 1. [Kafka Consumers, Consumer Groups, and Partition Rebalancing](kafka-consumers-consumer-groups-and-partition-rebalancing.html) * [Exercise: Using Consumer Group](https://jaceklaskowski.github.io/kafka-workshop/exercises/kafka-exercise-using-consumer-group.html) * [Exercise: Partition Leader Election and Consumer Fail-Over](https://jaceklaskowski.github.io/kafka-workshop/exercises/kafka-exercise-partition-leader-election-and-consumer-fail-over.html) 1. [ConsumerRebalanceListener](https://kafka.apache.org/33/javadoc/org/apache/kafka/clients/consumer/ConsumerRebalanceListener.html) 1. [ConsumerPartitionAssignor](https://kafka.apache.org/33/javadoc/org/apache/kafka/clients/consumer/ConsumerPartitionAssignor.html) 1. [Partitioner](https://kafka.apache.org/33/javadoc/org/apache/kafka/clients/producer/Partitioner.html) 1. [Sending Records with Callback](https://kafka.apache.org/33/javadoc/org/apache/kafka/clients/producer/KafkaProducer.html#send-org.apache.kafka.clients.producer.ProducerRecord-org.apache.kafka.clients.producer.Callback-) 1. [Transactional Producer](https://books.japila.pl/kafka-internals/transactions/) 1. [Using (Confluent) Kafka with Docker](https://docs.confluent.io/platform/current/platform-quickstart.html#step-1-download-and-start-cp) 1. [Kafka Streams Essentials](kafka-streams-essentials.html) 1. [High-Level Streams DSL](kafka-streams-streams-dsl.html) * [Exercise: Processing Record Stream with KStream](https://jaceklaskowski.github.io/kafka-workshop/exercises/kafka-streams/processing-record-stream-with-kstream.html) * [Exercise: Joining KStream with KTable ("Currency Exchange")](https://jaceklaskowski.github.io/kafka-workshop/exercises/kafka-streams/kstream-join-ktable.html)
Prerequisities
Be prepared to get the most out of the workshop
Prerequisities / Experience
Some familiarity with messaging systems
Experience developing applications in Java (or Scala)
Experience with shell / command line
Prerequisities / To Be Installed
Linux or macOS (preferred)
Windows (acceptable)
IntelliJ IDEA
Java 17 (JDK)
Eclipse Temurin
or compatible
Docker
In-Class Preparations
Make Instructor's Life Slightly Easier. Thanks!
Introduce Yourself
First name
What's your experience with Kafka?
Any development experience with Kafka?
What are your expectations from the workshop?
Any fun facts? 😉
# Questions? * Read [The Internals of Apache Kafka](https://books.japila.pl/kafka-internals/) * Read [The Internals of Kafka Streams](https://books.japila.pl/kafka-streams-internals) * Read [The Internals of ksqlDB](https://books.japila.pl/ksqldb-internals/) * Follow [@jaceklaskowski](https://twitter.com/jaceklaskowski) on twitter (DMs open) * Read my articles on [Medium](https://jaceklaskowski.medium.com/) * Upvote [my questions and answers on StackOverflow](http://stackoverflow.com/users/1305344/jacek-laskowski) * Contact me at **jacek@japila.pl**