
In this lecture, I will give you all an introduction and objectives for this course.
In this lecture, I will cover the pre-requisites thats needed to enroll in this course.
This lecture has the course slides that are used in this course.
In this lecture, I will explain about How Kafka fits in to the current software architecture and cover some of the examples where Kafka can be used.
In this lecture, I will explain about the Kafka Terminologies and different components that are part of Apache Kafka and some of its Client APIs..
In this lecture, we will download the Kafka and explore the different folders inside the Kafka.
This lecture has the source code that's used in this whole course.
In this lecture, we will learn in detail about the Kafka topics, partitions.
In this lecture, we will set up the Zookeeper and Kafka broker in local.
In this lecture, we will learn about creating a topic , produce messages and consume messages from a Kafka Topic.
In this lecture, we will learn about producing and consuming messages with key using the command line interface.
In this lecture, we will learn about consumer offsets how it plays a major role in keeping a record of resuming processing the records from where it left off in the topic.
In this lecture, we will learn about consumer groups and how it plays a major role in scalable message consumption.
In this lecture, we will learn about the partitioned commit log and retention policy of any record thats written in to Kafka.
Kafka as a Distributed Streaming SystemIn this lecture, I will explain in detail about how does Kafka behaves as a Streaming System.
In this lecture, we will set up a Kafka Cluster with 3 brokers to simulate a production like environment.
In this lecture, we will learn about how kafka distributes the request between the available brokers.
In this lecture, we will learn about replication and In sync Replicas ISR.
In this lecture, we will learn about the fault tolerance and robustness in Kafka.
In this lecture, we will set up the base Kafka Project for the Kafka Producer.
In this lecture, we will learn about the different options that are available with respect to sending messages into the Kafka Topic.
In this lecture, we will code the producer using the Kafka Producer.
In this lecture, we will add logging in to our application using LogBack.
In this lecture, we will code the Kafka Producer to publish the record in to Kafka asynchronously.
In this lecture, we will code the producer to send the messages with key.
In this lecture, we will build a simple command line interface Java interface to produce messages.
In this lecture, we will learn about the different layers the producers API goes through before the message is produced to Kafka
In this lecture, we will learn about the different configurations that guarantee message delivery in to Kafka.
In this lecture, we will override the acks value and explore the behavior of the Kafka Producer
In this lecture, we will override the retries and retry.backoff.ms value and explore the behavior of the Kafka Producer
In this lecture, we will set up the consumers module to build the Kafka consumer application.
In this lecture, we will learn about how to read messages using the consumer API and its behavior behind the scenes.
In this lecture, we will code the Kafka consumer to read the messages from the Kafka Topic.
In this lecture, I will show a demo on the behavior of the consumer based on the auto.offset.reset value.
In this lecture, we will create another consumer and explore the behavior of consumer groups.
In this lecture, we will learn about the consumer rebalance and its importance in Kafka Consumer.
In this lecture, we will learn about the importance of the max.poll.interval.ms and its impact on consumer rebalance.
Description:
Learn the fundamentals and advanced concepts of Apache Kafka in this course. This course will give you a good understanding of all the concepts through Hands-On
This course will walk you through the Kafka concepts step by step
All the Kafka concepts will be taught through Hands-On
This course will increase your technical expertise in Kafka
This course will give you good exposure to build Kafka Client applications using Java
This course will be an eyeopener for people who think Kafka is a complex system and you will find yourself in a better place after you complete this course
This course will transfer you from no Kafka experience to an experienced Kafka user.
Course Overview:
Getting Started with Kafka
In this section, I will give you all a quick introduction to Apache Kafka, terminologies and different client APIs that are part of Kafka
Download and Install Kafka
In this section, we will download the Kafka distribution from the Kafka Website.
Understanding Kafka Components and its Internals - (Theory + Hands-On)
In this section, we will explore the Kafka internals from a theoretical perspective followed by hands-on exploring the Kafka internals.
Learn about the Topics and Partitions in Kafka
Setup a Local Kafka Cluster with Multiple Brokers
Producer/Consumer messages in the Kafka Cluster
Learn about Consumer Offsets and Consumer Groups
Commit Log and Retention Policy
Learn about Kafka Load Distribution and Fault Tolerance and Robustness
Kafka Producer API - Hands-On
In this section, we will learn about building the Kafka Producer to producer messages into Kafka using the producer API
Setting up the base-project for Producer
Understand how the producer API works
Produce messages to the Kafka topic using the Synchronous/Asynchronous approach
Understand how Kafka producer API works behind the scenes
Kafka Producer API - Guaranteed Message Delivery Configurations
In this lecture, we will learn about the different configurations that guarantee message delivery into Kafka.
Explore some of the producer API Configurations
Configuring the acks and min.insync.replicas for guaranteed message delivery
Override the retries and retry-back-off-ms value\
Kafka Consumer API - Hands On
In this section, we will learn about building Kafka consumers to read messages from Kafka using the Consumer API.
Setting up the base-project for Consumers
Consuming Messages using Consumer API - poll() loop
Build Kafka Consumer using the Consumer API
auto.offset.reset - earliest vs latest
Consumer Groups & Consumer Rebalance
In this section, we will learn about Consumer Groups and Consumer rebalance.
Scaling the Consumer using Consumer Groups
Consumer Rebalance
Consumer Rebalance & 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()
By the end of this, you will have a complete understanding of how Apache Kafka works and how to build Kafka client applications using Producer and Consumer API.