Apache Kafka™
and Kafka Streams
Workshop
2 Days
@jaceklaskowski
/
StackOverflow
/
GitHub
/
LinkedIn
The "Internals" Books:
books.japila.pl
<p><img width="12%" src="images/jacek_laskowski_20201229_200x200.png" style="border: 0"></p> * **Jacek Laskowski** is a Freelance IT Consultant * Specializing in [Spark](https://spark.apache.org), [Delta Lake](https://delta.io/), [Kafka](https://kafka.apache.org), [Kafka Streams](https://kafka.apache.org) * Development | Consulting | Training | Speaking * Best known by "The Internals Of" online books * Among contributors to [Apache Spark](https://github.com/apache/spark/graphs/contributors) * Among [Confluent Community Catalyst](https://www.confluent.io/nominate/) (Class of 2019 - 2020) * Contact me at **jacek@japila.pl** * Follow [@JacekLaskowski](https://twitter.com/jaceklaskowski) on twitter <br>for more #ApacheSpark, #DeltaLake, #ApacheKafka, #KafkaStreams
Jacek is active on
StackOverflow
(Apache Kafka Streams)
# Goal <p> Practical understanding of<br /> <b><span style="font-size: 140%">Apache Kafka™</span></b> and <b><span style="font-size: 140%">Kafka Streams</span></b><br /> for developers<br /> <span style="font-size: 70%">(incl. architecture, installation, configuration, monitoring, and troubleshooting)</span> </p>
## Agenda 1. [Day 1](#/day1) — Kafka Fundamentals 1. [Day 2](#/day2) — Kafka Development
<!-- .slide: style="font-size: 80%" --> ## 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) * [Exercise: Exploring Zookeeper](https://jaceklaskowski.github.io/kafka-workshop/exercises/kafka-exercise-Exploring-Zookeeper.html) 1. Kafka Configuration (Properties) * [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) * [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)
<!-- .slide: style="font-size: 70%" --> ## Day 2 — Kafka Development 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 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) 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) 1. [Exercise: Using Kafka with Docker](https://jaceklaskowski.github.io/kafka-workshop/exercises/kafka-exercise-Using-Kafka-with-Docker.html) 1. [Monitoring Kafka Cluster](Monitoring-Kafka-Cluster.html) * Demo: Monitoring Kafka using jconsole
Prerequisities
Be prepared to get the most out of the workshop
Prerequisities / Experience
Some familiarity with messaging systems
Experience with shell / command line
Prerequisities / To Be Installed
Linux or macOS
OpenJDK 11
Docker
Docker Desktop for Mac
Docker for Windows
Docker Compose
git
kcat Utility
In-Class Preparations
Make Instructor's Life Slightly Easier. Thanks!
Introduce Yourself
First name
What's your experience with Kafka?
Any production experience with Kafka?
What do you expect from the workshop?
# 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) * Follow [@jaceklaskowski](https://twitter.com/jaceklaskowski) on twitter (DMs open) * Upvote [my questions and answers on StackOverflow](http://stackoverflow.com/users/1305344/jacek-laskowski) * Contact me at **jacek@japila.pl**