Apache Kafka Online Course
Apache Kafka Online Course
This course will guide you through Kafka concepts step by step. We will delve into Kafka's internals, starting with a theoretical understanding and then moving on to hands-on exploration. Next, we will learn how to build a Kafka Producer to send messages to Kafka using the Producer API. Following this, we will explore various configurations that ensure reliable message delivery. Finally, we will create a Kafka Consumer to retrieve messages from Kafka using the Consumer API.
By the end of the course, you will have a complete understanding of Apache Kafka and will be able to build Kafka Consumer applications using Java.
The complete code bundle for this course is available at - Click here..
Who is this Course for?
This course is designed for Kafka beginners and advanced level. Anyone interested in building Java applications using producer and consumer API or interested in learning advanced Kafka Producer and Consumer operations, then this course is for you.
Course Curriculum
Getting Started with the Course
- Course Introduction and Objectives
- Prerequisites
Getting Started with Kafka
- Introduction to Kafka
- Kafka Terminologies and Client APIs
Download and Install Kafka
- Download and Install Kafka
Understanding Kafka Components and its Internals - (Theory + Hands-On)
- Kafka Topics and Partitions - Theory
- Set Up a ZooKeeper/Kafka Broker in Local
- Create Topic, Produce and Consume Messages Using the CLI
- Produce and Consume Messages with Key
- Consumer Offsets
- Consumer Groups
- Commit Log and Retention Policy
- Kafka as a Distributed Streaming System
- Setting up a Kafka Cluster in Local with 3 Kafka Brokers
- How Kafka Cluster Distributes the Client Requests? Leader/Follower
- How Kafka Handles Data Loss? Replication and In-Sync-Replica(ISR)
- Fault Tolerance and Robustness in Kafka
Kafka Producer API - Hands-On
- Project Setup
- Sending ProducerRecord Using Producer API
- Build Kafka Producer - Send Messages Synchronously
- Add Logging Using LogBack
- Sending Messages Asynchronously
- Send Messages with Key
- Programmatic Interface to Produce Messages
- Kafka Producer API - Behind the Scenes
Kafka Producer API - Guaranteed Message Delivery Configurations
- Kafka Producer API Configurations
- Configuring Acks and min.insync.replicas – Hands-On
- Configuring retries and retry.backoff.ms – Hands-On
Kafka Consumer API – Hands-On
- Project Setup
- Consuming Messages using Consumer API - poll() loop
- Build Kafka Consumer Using the Consumer API
- auto.offset.reset - Earliest Versus Latest
Consumer Groups and Consumer Rebalance – Hands-On
- Scaling the Consumer Using Consumer Groups
- Consumer Rebalance
- Consumer Rebalance and max.poll.interval.ms
Consumer Offsets - Default and Manual Offset Management – Hands-On
- Committing Offsets - Default Offset Commit Strategy
- Manually Committing Offsets
- Committing Offsets Synchronously - Using commitSync()
- Committing Offsets Asynchronously - Using commitAsync()
- Committing Specific Offsets - using CommitSync()
Consumer Rebalance Listeners – Hands-On
- Introduction to Rebalance Listeners
- Implement ConsumerRebalanceListener in Kafka Consumer
- Committing Offsets Using ConsumerRebalanceListener
Kafka Consumer - seekToBeginning(), seekToEnd(), and seek() – Hands-On
- Introduction to seekToBeginning() or seekToEnd()
- seekToBeginning() and seekToEnd() – Hands-On
- Introduction to seek()
- Seek to a Specific Offset Using seek() – Hands-On
Custom Serializer and Deserializers in Kafka – Hands-On
- Why Custom Kafka Serializer/Deserializer?
- Build a Custom Serializer in Kafka Producer Using Jackson ObjectMapper
- Build Kafka Producer Using Custom Serializer
- Build a Custom DeSerializer in Kafka Producer Using Jackson ObjectMapper
- Build Kafka Consumer Using Custom Serializer
- Publish Custom Objects Using StringSerializer and Jackson ObjectMapper
- Consume Custom Objects using StringDeserializer and Jackson ObjectMapper