Introduction to Kafka with Spring Boot

Learn how to create robust Kafka implementations using Spring Boot 3 and Apache Kafka

4.67 (297 reviews)
Udemy
platform
English
language
Software Engineering
category
Introduction to Kafka with Spring Boot
3,418
students
5.5 hours
content
Jan 2024
last update
$84.99
regular price

What you will learn

Learn what Kafka is and how it works

How to install and run Kafka locally

Create a Spring Boot application that integrates with Kafka

Unit testing and Integration testing for Kafka

Consuming and Producing messages with Spring Kafka

Learn how to retry failed Kafka messages

Spring Boot integration tests with the embedded Kafka broker

Serialization and the different formats, including Strings and JSON

Dead letter topics

Learn all the core Kafka messaging concepts including messages, topics, partitions and keys

Message ordering - ensuring your messages are consumed in the correct sequence

Cover the important Spring and Spring Kafka annotations

How to configure your Kafka Spring Beans

How to use Wiremock to trigger failure scenarios that we can test

Consumer groups, rebalancing, and consumer failover

Understand the role of consumer offsets

Use command line tools to send and receive messages and query the broker state

Understand why Zookeeper is being replaced with KRaft

Learn the key differences between other popular messaging brokers

Why take this course?

This is the course for learning Kafka, Java, Spring and Spring Boot!
Our hands-on course is designed to teach you the concepts of Apache Kafka and demonstrates the advantages to be gained by using the Spring framework.
By the end of the course you will have learned and used the techniques required of a production quality system that uses Apache Kafka

Your learning journey will take you cover:

  • Kafka Fundamentals

  • Unit Tests and Integration Testing using Embedded brokers

  • Failure concepts and how to handle them - Retries, Poison Pills, and DLQs

  • Coding your own event driven services that communicate using Kafka.

  • And much more!


This course will take you as a developer who knows just the basics on Spring Boot and Java to being able to develop a fully functional, fully tested, application that connects with the Kafka messaging broker in order to send and receive messages.

In fact with our comprehensive code walkthroughs that start from scratch in writing our Spring Boot application you would be able to put together the application with no previous Spring Boot experience!

This course has been developed by a team of highly experienced Java Software Engineers and Kafka consultants working closely with John Thompson, the Spring Framework Guru - we understand what a developer needs from such a course - we have designed and implemented many Kafka systems that are in production today.


Code Samples
All the code that we walk through is available in the included git repositories for you to use as a starting point for your work, or for you to fork and extend as you begin to explore Kafka further.  Along the way there are assignments enabling you to put in practice what you have been learning, to build out a fully rounded microservices architecture.  We have accompanying articles on many of the Kafka concepts covered in the course - these go into greater depth providing you the opportunity to continue your learning and gain an advanced understanding on these areas.

** What real Students are saying about this course **

5 STARS - Fantastic course by Lydtech. I have learned Kafka and Spring boot from beginner to details.

5 STARS - This is a great course. I like the challenging quizzes and assignments. It is very focus on the characteristics of topics. The instructors usually respond to questions very quickly.

5 STARS - Very good course. I liked the structure a lot and how the topics build up on each other.

5 STARS - This was a really nice course, with a perfect mix of theory, code-along sections and individual assignments. I really enjoyed it!

5 STARS - Great introduction to Kafka Messaging, gives a lot of valuable insights and practical examples.

5 STARS - The course introduction has been clear and focused. It has set a good foundation on what I can expect in the course.

5 STARS - Great course to get introduced to Kafka with Spring boot. Loved that it reiterates on the concepts taught in the videos with quiz & hands-on exercises. I am pretty sure I will be revisiting the course again and will learn something new out of it.

Inside this course you will learn about:

Kafka Background and Concepts:

  • The Kafka messaging broker

  • Key Kafka concepts including messages, keys, topics, partitions and offsets

  • The need for asynchronous communication

  • Comparison with other popular messaging brokers

  • Zookeeper vs KRaft

  • Consumer groups and rebalancing

  • Message Keys and Message ordering

Installing and Running Kafka:

  • Installing and running the broker locally (Linux/Mac)

  • Installing and running the broker locally on Windows using WSL

  • Using the Kafka command line tools

  • Sending and receiving messages

Spring Boot Application Development with Spring Kafka:

  • Creating the Spring Boot application with Spring Initializr

  • Spring Kafka APIs

  • Consuming messages using the KafkaListener, KafkaListenerContainerFactory and ConsumerFactory

  • Producing messages using the KafkaTemplate and ProducerFactory

  • Utilising Spring Kafka annotations leaving Spring to do the heavy lifting

  • Unit testing the Kafka consumer and producer with JUnit and Mockito

  • Integration testing with Spring Boot Test, Spring Kafka Test, and the embedded Kafka broker

  • Serializing and deserializing String and JSON messages

  • Avoiding poison pills with the correct error handling

  • Configuring Kafka Spring Beans programmatically vs in the application properties

  • Manual and automatic topic creation

  • Consumer group membership with shared vs duplicated message consumption

  • Consumer failover with multiple Spring Boot instances

  • Sending and receiving message keys

  • Ensuring related messages are ordered

  • Consuming multiple event types from the same topic

  • Configuring trusted packages

  • Retrying failed messages

  • Routing messages to the dead letter topic

  • Using Wiremock to trigger error scenarios

Course Extra - IntelliJ IDEA Ultimate

Students enrolling in the course can receive a free 4 month trial license to IntelliJ IDEA Ultimate! Get hands on experience using the Java IDE preferred by Spring Framework professionals!

Course Extra - Access to a Private Slack Community

You’re not just enrolling in a course --> You are joining a community learning Spring.

With your enrollment to the course, you can access an exclusive Slack community. Get help from the instructor and other Spring Framework Gurus from around the world - in real time! This community is only available to students enrolled in this course.

This is a very active Slack community with over 18,700 Spring Framework Gurus!

This is the largest online community of people learning Spring in the world.

With your enrollment, you can join this community of awesome gurus!

Closed Captioning / Subtitles

Closed captioning in English is available for all course videos!

PDF Downloads

All keynote presentations are available for you to download as PDFs.

Lifetime Access

When you purchase this course, you will receive lifetime access! You can login anytime from anywhere to access the course content.

No Risk - Money Back Guarantee

You can buy this course with no risk. If you are unhappy with the course, for any reason, you can get a complete refund. The course has a 30 day Money Back Guarantee.

Reviews

Balasubramanian
January 27, 2024
Excellent introduction to Kafka concepts. For more advanced use cases, please refer to "Next Steps" slide and the link to additional resources.
Jakub
January 17, 2024
Very good course, a lot of valuable knowledge and hands on exercises! It would be a good idea to rename the course to: "Kafka with Spring Boot: Beginner to Guru". It would look much better and would be much more coherent to have list of courses: - Spring Framework 5: Beginner to Guru - Kafka with Spring Boot: Beginner to Guru <--- ! ! ! - Testing Spring Boot: Beginner to Guru It looks much nicer than this "introduction".
Mateus
January 12, 2024
It's possible the team share the source code. I have checked the github repository from lydetch, but, the source isn't there. Leaving this for away, the course was good and clarified to many things about kafka, unit tests and spring boot, very cool.
Oleksii
January 4, 2024
Everything was good: explanations where clear, assignments where challenging. The one disadvantage was that Rob would read the text in time or before code appeared on the screen and so it was hard to follow both Robs explanations and code. Wish it where in John Thompson style.
Dmitrii
December 22, 2023
Good course. Short, but effective lessons. Lectures are delivered in native, understandable English. Explanations and definitions are simple and logic. I want to especially emphasize assignments in the course. They were very useful, moderately challenging and helped to understand some Kafka's moments better. Thank you for a great course!
Mohammad
December 10, 2023
Not very realtime training and unnecessarily focused too much on testing, which literraly distracts from course and makes the course lengthier. Meanwhile the video was looking blurry in 1080p resolution.
Helen
November 11, 2023
This is a great course. I like the challenging quizzes and assignments. It is very focus on the characteristics of topics. The instructors usually respond to questions very quickly. My hint for this course is to download Kafka version 3.6 or above if you are using Window 11.
Nicolae
November 5, 2023
This was a really nice course, with a perfect mix of theory, code-along sections and individual assignments. I really enjoyed it!
James
October 1, 2023
The course introduction has been clear and focused. It has set a good foundation on what I can expect in the course.
Varun
September 24, 2023
Great course to get introduced to Kafka with Spring boot. Loved that it reiterates on the concepts taught in the videos with quiz & hands-on exercises. I am pretty sure I will be revisiting the course again and will learn something new out of it. Just a nitpick & I know this is personal preference: Please use a dark theme on IntelliJ so that viewers like me who are viewing courses from a dark room don't have to squint their eyes :P
Grzegorz
September 22, 2023
Currently I've tried to fork the repository and there were some options (e.g. flag 'only master branch' which is checked as default. Don't know if it should be checked or not. Moreover after the project had been cloned I couldn't compile it (the error was: "Fatal error compiling: error: release version 1.8 not supported". I had to change pom.xml to use property <maven.compiler.release>8</maven.compiler.release> and use it in maven-compiler-plugin. Having this set the compiler showed me the warning: "target value 8 is obsolete and will be removed in a future release To suppress warnings about obsolete options, use -Xlint:-options." To avoid this I've set version to 11. It's not so big deal to make this changes, however much better would be to spend this time on learning.

Charts

Price

Introduction to Kafka with Spring Boot - Price chart

Rating

Introduction to Kafka with Spring Boot - Ratings chart

Enrollment distribution

Introduction to Kafka with Spring Boot - Distribution chart
5233078
udemy ID
3/25/2023
course created date
9/16/2023
course indexed date
Bot
course submited by