Getting Started with Course
  • Course Introduction & Objectives
  • Pre-Requesities
Course Slides
  • Course Slides
Getting Started with Kafka
  • Introduction to Kafka
  • Kafka Terminologies and Client APIs
Download and Install Kafka
  • Download and Install Kafka
Source Code for this Course
  • Source Code
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 Command Line Interface(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 Messages 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 - Guaranteed Message Delivery 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 vs latest
Consumer Groups & Consumer Rebalance - Hands On
  • 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()
Consumer Rebalance Listeners - Hands On
  • Introduction to Rebalance Listeners
  • Implement ConsumerRebalanceListener in Kafka Consumer
  • Committing Offsets using ConsumerRebalanceListener
Kafka Consumer - seekToBeginning(), seekToEnd() & seek() - Hands On
  • Introduction to seekToBeginning() & seekToEnd()
  • seekToBeginning() & seekToEnd() - Hands On
  • Introduction to seek()
  • Seek to a specific offset using seek() method in Kafka Consumer - Hands On
Custom Serializer and Deserializers in Kafka - Hands On
  • Why Custom Kafka Serializer/Deserializer ?
  • Build a Custom Serializer in Kafka Producer using Jackson
  • Build Kafka Producer using Custom Serializer
  • Build a Custom DeSerializer in Kafka Producer using Jackson
  • Build Kafka Consumer using Custom Serializer
  • Publish Custom Java Objects using StringSerializer and Jackson ObjectMapper
  • Consume Custom Java Objects using StringDeserializer and Jackson ObjectMapper
Bonus Section
  • Coupon for my Other Courses