This comprehensive practical guide to Apache Kafka offers extensive hands-on activities designed to deepen your understanding of how Apache Kafka works. By mastering its features, you'll find it easier to utilize and troubleshoot any issues long after completing the course. You don't need any prior knowledge of Apache Kafka, Java, Node.js, or Python, as everything is taught from the ground up. If you're eager to gain in-depth knowledge of Apache Kafka, this course is perfect for you!
Starting with Apache Kafka Installation
We begin by guiding you through the process of installing Apache Kafka on your computer, whether it's a VPS (Virtual Private Server) or a Virtual Machine. You'll discover that installing Apache Kafka is straightforward; simply download the archive containing executable scripts and run them. Moreover, you'll gain experience in running multiple brokers on the same computer.
Hands-on Practice with Apache Kafka
Next, we delve into a variety of practical exercises to explore different Apache Kafka features and built-in scripts. You will set up Zookeeper, multiple Brokers, Console Consumers, and Console Producers. Additionally, you'll test the Kafka Cluster's performance using its built-in utility, the Performance Monitor.
Practical Apache Kafka Activities
- Create a cluster with multiple brokers.
- Establish topics with multiple partitions across different brokers.
- Create topics with a replication factor to store copies of each message on different brokers for redundancy.
- Produce messages using the built-in Console Producer.
- Consume messages using the built-in Console Consumer.
- Launch multiple consumers within the same consumer group.
- Utilize the Performance Monitor to test the performance and speed of Consumers and Producers.
Utilizing Apache Kafka API
You'll also learn to use the Apache Kafka API for creating your own Consumers and Producers.
- Set up a Java Maven project.
- Launch Producers and Consumers using Java.
- Launch multiple consumers in the same Consumer Group.
- Understand and practice the differences between "subscribe" and "assign".
- Create a Node.js project.
- Launch Producers and Consumers using Node.js.
- Create a Python project.
- Launch Producers and Consumers using Python.
Tools and File Management
Throughout the course, you'll work with and edit text files, but you won't use the terminal. Instead, you'll leverage the GUI application Visual Studio Code. All configuration and project files are available in a GitHub repository, providing additional learning on using:
- Git and GitHub
- Visual Studio Code