Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS CompTIA Security+ AWS Certified Developer - Associate
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Mindfulness Personal Development Meditation Personal Transformation Life Purpose Coaching Neuroscience
Web Development JavaScript React CSS Angular PHP WordPress Node.Js Python
Google Flutter Android Development iOS Development Swift React Native Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Retargeting
SQL Microsoft Power BI Tableau Business Analysis Business Intelligence MySQL Data Analysis Data Modeling Big Data
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Online Business Business Plan Startup Freelancing Blogging Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee

This course includes:

  • 8 hours on-demand video
  • 2 articles
  • 51 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Assignments
Development Database Design & Development Apache Kafka

Apache Kafka for Developers using Spring Boot[LatestEdition]

Learn to build enterprise standard Kafka producers/consumers with Kafka Unit/Integration tests using Spring Boot.
Rating: 4.5 out of 54.5 (822 ratings)
5,373 students
Created by Dilip S
Last updated 12/2020
English
English [Auto]
30-Day Money-Back Guarantee

What you'll learn

  • 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
Curated for the Udemy for Business collection

Course content

20 sections • 82 lectures • 8h 9m total length

  • Preview02:02
  • Preview01:21

  • Course Slides
    00:01

  • Preview06:40
  • Preview02:45

  • Download and Install Kafka
    03:37

  • Kafka Topics and Partitions - Theory
    05:00
  • Set Up a ZooKeeper/Kafka Broker in Local
    05:55
  • Create Topic, Produce and Consume Messages using the CLI
    05:16
  • Produce and Consume Messages with Key
    06:39
  • Consumer Offsets
    04:02
  • Consumer Groups
    07:55
  • Commit Log and Retention Policy
    08:11
  • Kafka as a Distributed Streaming System
    04:15
  • Setting up a Kafka Cluster in Local with 3 Kafka Brokers
    09:54
  • How Kafka Cluster distributes the Client Requests ? - Leader/Follower
    05:48
  • How Kafka handles Data Loss ? - Replication and In-Sync-Replica (ISR)
    09:08
  • Fault Tolerance and Robustness in Kafka
    02:39

  • Preview02:53

  • Source Code
    00:03

  • Setting up the Base project for Library Event Kafka producer
    05:17
  • Build the Library Event Domain
    03:35
  • Create the POST endpoint "/libraryevent"
    05:50
  • Preview06:57
  • Configure KafkaTemplate using SpringBoot Profiles - application.yml
    06:44
  • How Spring Boot AutoConfiguration Works? - Kafka Producer
    04:54
  • AutoCreate TOPIC using KafkaAdmin
    06:31
  • Build LibraryEvents Producer using KafkaTemplate - Approach1- Part1
    12:32
  • Build LibraryEvents Producer using KafkaTemplate - Approach1- Part2
    04:41
  • LibraryEvents Producer API - Behind the Scenes
    04:55
  • Build LibraryEvents Producer using KafkaTemplate - Approach2
    08:11
  • Build LibraryEvents Producer using KafkaTemplate - Approach3
    07:09
  • Sending KafkaRecord With Headers using KafkaTemplate
    03:35
  • Add LibraryEvent Type - NEW, UPDATE
    03:33

  • Introduction to Automates Tests
    02:07
  • Integration Test for POST endpoint - "/v1/libraryevent" - Part 1
    03:31
  • Integration Test for POST endpoint - "/v1/libraryevent" - Part 2
    10:33
  • Embedded Kafka - Introduction , Configure and Integrate in JUnit
    07:56
  • Integrate Kafka Consumer in JUnit and Consume the record
    13:03

  • Introduction to Unit Testing
    01:32
  • Unit Test POST "/libraryevent" endpoint using MockMVC
    08:57
  • Adding Validations to the LibraryEvent Payload
    04:26
  • Custom ErrorMessages using ControllerAdvice
    08:54
  • Write JUnit Test for Kafka Producer - OnFailure()
    10:13
  • Write JUnit Test for Kafka Producer - OnSuccess()
    06:55

Requirements

  • Java 11 or greater is required
  • Intellij or Eclipse or Similar IDE
  • Knowledge about Spring Boot
  • Experience writing tests using JUnit
  • Gradle or Maven Knowledge is needed

Description

This course is structured to give you a theoretical and coding experience with Apache Kafka using SpringBoot. This course is targeted for developers who would like to build enterprise standard  Kafka Client applications using SpringBoot.

If you are looking forward to learning the below-listed things:

  • Use cases where Kafka fits really well

  • Internals of Kafka and how it works

  • Built Enterprise Standard Kafka Client Applications using Producer/Consumer API using Spring Boot

  • Unit/Integration Tests for the Kafka Client Applications

Then this is the right course for you. This is a pure hands-on oriented course where you will be learning the concepts through code.

By the end of this course, you will have a complete understanding of coding and implementing Kafka Clients using SpringBoot with Producer/Consumer API.

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

Application OverView

  • This section covers the application that we are going to build as part of this course.

Build SpringBoot Kafka Producer - Hands-On

In this section, we will learn about building a Kafka Producer using Spring Boot.

  • Build RestAPI through which the events can be posted into the application from the outside world

  • Explore KafkaTemplate to publish the data into the Kafka Topic

  • Learn different approaches to produce the message into the Kafka

  • Learn to publish the Kafka Record using Headers

Integration Testing using JUnit5 - Hands-On

In this section, we will learn about different approaches to writing Integration tests using Embedded Kafka.

  • Write Integration test cases to interact with the API using JUnit5

  • Write Integration test cases to interact with Embedded Kafka using JUnit5

Unit Testing using JUnit5- Hands-On

In this section, we will learn about different approaches to writing unit tests Kafka Producer.

  • Write Unit Tests to the controller layer using @WebMVC annotation and MockMVC

  • Add the validations to the request payload in the endpoint

  • Write Custom Error Handler for different response codes

Kafka Producer - Sending Message With Key - Hands-On

In this section, we will learn about sending the record to Kafka Topic with Key.

Kafka Producer - Important Configurations

In this section, we will learn about different key configurations to consider when it comes to reliable message delivery to Kafka

Build SpringBoot Kafka Consumer - Hands-On

In this section, we will learn about building a Kafka Consumer using Spring Boot.

  • Set up the base consumer project library-events consumer

  • Learn about different Spring Kafka Terminologies which are necessary to configure a Kafka Consumer

  • Learn about how to configure a Kafka Consumer using the @KafkListener Annotation

  • Learn about how "Spring Boot Auto Configuration works behind the scenes for Kafka Consumer"

Consumer Groups and Consumer Offset Management- Hands-On

In this section, we will code and learn about consumer groups and offset management.

  • Demonstration how Consumer Groups plays a vital role when it comes to scalable message consumption and consumer rebalance

  • Learn about the Default consumer offset management by Kafka

  • Learn about how consumer offset can be manually managed from the application

  • Demonstration of how to achieve scalable message consumption by increasing the concurrency level to greater than 1

Persisting Library Events in DB - Using H2 InMemory DataBase

In this section, we will code and learn about integrating the DB layer into the library-events-consumer using Spring JPA.

  • 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

Integration Testing using Embedded Kafka - Kafka Consumer

In this section, we will code and learn to write the Integration tests for the Kafka Consumer.

  • Configure Embedded Kafka for Integration Tests

  • Write the Integration test for posting a "NEW" LibraryEvent

  • Write the Integration test for posting an "UPDATE" LibraryEvent

  • Integration Tests for Real Databases using TestContainers

Error Handling, Retry and Recovery - Kafka Consumers

In this section, we will learn about the different error handling techniques that are available for Kafka Consumer.

  • Custom Error Handler

  • Retry in Kafka Consumer

  • Retry SpecificExceptions using Custom RetryPolicy

  • Recovery in Kafka Consumer

  • Handling Recovery in Kafka Consumer

Error Handling, Retry/Recovery - Kafka Producer

  • 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

By the end of this you will have a complete understand and knowledge of building enterprise standard Kafka Consumers and Producers using Spring Boot with the Unit and Integration tests using EmbeddedKafka.

Who this course is for:

  • Java/Spring Developers who would like to build Producers/Consumers using Apache Kafka
  • Anyone willing to learn about Apache Kafka and implement using SpringBoot

Featured review

Krishnakumar
Krishnakumar
24 courses
17 reviews
Rating: 5.0 out of 510 months ago
As I knew the internals of Kafka, it was easy for me to follow. A new comer may not be that lucky. Personally I learned a lot particularly testing. Would have been nice if Stream processing was also included.

Instructor

Dilip S
Technology Enthusiast, Online Instructor
Dilip S
  • 4.4 Instructor Rating
  • 5,641 Reviews
  • 31,016 Students
  • 6 Courses

Dilip is a software Engineer and tech savvy who have experience building software’s since 2008.

He has a lot of passion towards learning new technologies, staying up to date with the all the new technologies, tools, frameworks and more. He would love to share the knowledge to the world and that’s one of the key reasons to be in the Online Teaching Industry.

He loves interacting with other software developers. He believes the fact that interacting with software developers helps sharing the knowledge and learning from them.

During the leisure time I would love to play cricket , watch movies and working out in the gym to have a balance between physical and mental strength.

Dilip has a youtube channel named “Code With Dilip” where he had been sharing lot of technical content related to languages, framework, best practices and more.

-- D S.

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.