Course Highlights
  • Apache Kafka and its Internals
  • Build Enterprise Standard Kafka Client Applications using Spring Boot
  • Writing Unit Tests using JUnit
  • Writing Integration tests using JUnit and Embedded Kafka
  • Build End to End application using Kafka Producer/Consumer and Spring Boot
Curriculum

2 Topics
Course Introduction & Objectives
Pre-Requesities

1 Topic
Course Slides

2 Topics
Introduction to Kafka
Kafka Terminologies and Client APIs

12 Topics
Kafka Topics and Partitions - Theory
SetUp 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)
Configuring min.insync.replicas

1 Topic
Overview of the application - Library Inventory

1 Topic
Source Code

13 Topics
Setting up the Base project for Library Event Kafka producer
Build the Library Event Domain
Create the POST endpoint "/libraryevent"
Introduction to Spring KafkaTemplate to Produce Messages
Configure KafkaTemplate using SpringBoot Profiles - application.yml
How Kafka SpringBoot AutoConfiguration Works? - Kafka Producer
AutoCreate TOPIC using KafkaAdmin
Build LibraryEvents Producer using KafkaTemplate - Approach1- Part1
Build LibraryEvents Producer using KafkaTemplate - Approach1- Part2
LibraryEvents Producer API - Behind the Scenes
Build LibraryEvents Producer using KafkaTemplate - Approach 2
Build LibraryEvents Producer using KafkaTemplate - Approach3
Sending KafkaRecord With Headers using KafkaTemplate

5 Topics
Introduction to Automates Tests
Integration Test for POST endpoint - "/v1/libraryevent" - Part 1
Integration Test for POST endpoint - "/v1/libraryevent" - Part 2
Embedded Kafka - Introduction Configure and Integrate in JUnit
Integrate Kafka Consumer in JUnit and Consume the record

4 Topics
Introduction to Unit Testing
Unit Test POST "/libraryevent" endpoint using MockMVC
Adding Validations to the LibraryEvent Payload
Custom ErrorMessages using ControllerAdvice - Handling 4xx ClientErrors

1 Topic
Create the PUT endpoint - "/libraryEvent"

2 Topics
Kafka Producer - Important Configurations
Override the retry and retry.backoff.ms - Hands On

5 Topics
Set Up the Library Events Consumer Base project
Introducing Spring Kafka Consumer
Configure Kafka Consumer using SpringBoot Profiles - application.yml
Build Kafka Consumer using @KafkaListener Annotation
How Spring Boot AutoConfiguration Works ? - Kafka Consumer

4 Topics
Consumer Groups and Rebalance- Hands On
Default Consumer Offset Management in Spring Kafka - Hands On
Manual Consumer Offset Management - Hands On
Concurrent Consumers - Hands On

4 Topics
Configuring the H2 In-Memory DB
Create LibraryEvent and Book Entity
Build Service Layer to process LibraryEvent - ADD Event Type
Build Service Layer to process LibraryEvent - MODIFY Event Type

5 Topics
Configure Embedded Kafka for Integration Tests
Write the Integration test for posting a "NEW" LibraryEvent
Write the Integration test for posting a "UPDATE" LibraryEvent
Write the Integration test for posting an invalid UPDATE LibraryEvent
Integration Tests for Real Databases using TestContainers

11 Topics
Custom Error Handler and Custom Retry in Kafka Consumer
Add a RetryListener to monitor each Retry attempt
Retry SpecificExceptions using Custom RetryPolicy
Retry failed Records with ExponentialBackOff
Recovery in Kafka Consumer
Recovery : Publish the message to the Retry Topic
Build the RetryTopic Listener to reprocess the Message
Refactor the LibraryEventsConsumer Integration test
Recovery : Publish the message to the DeadLetter Topic
Recovery : Save the failed message to the DB
Recovery : Spring Scheduler to recover the failed message

4 Topics
Error Handling in Kafka Producer
Retry in Kafka Producer - Broker Not Available
Retry in Kafka Producer - Min.in.sync.replicas
Retain/Recover Failed Records in Kafka Producer

3 Topics
Why Kafka Security & How SSL works?
How Enterprises add/manage SSL Certificate ?
Set Up SSL Kafka Security in Local

2 Topics
Configuring Library Events Producer to access SSL secured Cluster
Configuring Library Events Consumer to access SSL secured Cluster

1 Topic
Download and Install Kafka

12 Topics
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

14 Topics
Setting up the Base project for Library Event Kafka producer
Build the Library Event Domain
Create the POST endpoint "/libraryevent"
Introduction to Spring KafkaTemplate to Produce Messages - Theory
Configure KafkaTemplate using SpringBoot Profiles - application.yml
How Spring Boot AutoConfiguration Works? - Kafka Producer
AutoCreate TOPIC using KafkaAdmin
Build LibraryEvents Producer using KafkaTemplate - Approach1- Part1
Build LibraryEvents Producer using KafkaTemplate - Approach1- Part2
LibraryEvents Producer API - Behind the Scenes
Build LibraryEvents Producer using KafkaTemplate - Approach2
Build LibraryEvents Producer using KafkaTemplate - Approach3
Sending KafkaRecord With Headers using KafkaTemplate
Add LibraryEvent Type - NEW UPDATE

5 Topics
Introduction to Automates Tests
Integration Test for POST endpoint - "/v1/libraryevent" - Part 1
Integration Test for POST endpoint - "/v1/libraryevent" - Part 2
Embedded Kafka - Introduction Configure and Integrate in JUnit
Integrate Kafka Consumer in JUnit and Consume the record

6 Topics
Introduction to Unit Testing
Unit Test POST "/libraryevent" endpoint using MockMVC
Adding Validations to the LibraryEvent Payload
Custom ErrorMessages using ControllerAdvice
Write JUnit Test for Kafka Producer - OnFailure()
Write JUnit Test for Kafka Producer - OnSuccess()

3 Topics
Create the PUT endpoint - "v1/libraryEvent"
Assignment - Integration Test PUT "/libraryevent" endpoint using Embedded Kafka
Assignment - Unit Test PUT - "/libraryevent" endpoint using MockMVC

2 Topics
Kafka Producer - Important Configurations
Configure the "acks" value as "All" - Hands On

5 Topics
Set Up the Library Events Consumer Base project
Introduction to Spring Kafka Consumer - Theory
Configure Kafka Consumer using SpringBoot Profiles - application.yml
Build Kafka Consumer using @KafkaListener Annotation
How Spring Boot AutoConfiguration Works ? - Kafka Consumer

4 Topics
Consumer Groups and Rebalance- Hands On
Default Consumer Offset Management in Spring Kafka - Hands On
Manual Consumer Offset Management - Hands On
Concurrent Consumers - Hands On

4 Topics
Configuring the H2 In-Memory DB
Create LibraryEvent and Book Entity
Build Service Layer to process LibraryEvent - ADD Event Type
Build Service Layer to process LibraryEvent - MODIFY Event Type

5 Topics
Configure Embedded Kafka for Integration Tests
Write the Integration test for posting a new LibraryEvent
Write the Integration test for posting a "UPDATE" LibraryEvent
Write the Integration test for posting an invalid UPDATE LibraryEvent
Integration Tests for Real Databases using TestContainers

11 Topics
Custom Error Handler and Custom Retry in Kafka Consumer
Add a RetryListener to monitor each Retry attempt
Retry SpecificExceptions using Custom RetryPolicy
Retry failed Records with ExponentialBackOff
Recovery in Kafka Consumer
Recovery : Publish the message to the Retry Topic
Build the RetryTopic Listener to reprocess the Message
Refactor the LibraryEventsConsumer Integration test
Recovery : Publish the message to the DeadLetter Topic
Recovery : Save the failed message to the DB
Recovery : Spring Scheduler to recover the failed message

4 Topics
Error Handling in Kafka Producer
Retry in Kafka Producer - Broker Not Available
Retry in Kafka Producer - min.in.sync.replicas
Retain/Recover Failed Records in Kafka Producer

5 Topics
Why Kafka Security & How SSL works?
How Enterprises add/manage SSL Certificate ?
Set Up SSL Kafka Security in Local
Accessing Secured Kafka Cluster using CLI - Producer/Consumer Messages
2 Way Authentication - Client & Server Authentication

2 Topics
Configuring Library Events Producer to access SSL secured Cluster
Configuring Library Events Consumer to access SSL secured Cluster

  Write a Review

Apache Kafka for Developers using Spring Boot[LatestEdition]

Go to Paid Course