Introduction to Kafka with Spring Boot

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

Ratings: 4.64 / 5.00




Description

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.

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

Who Should Attend!

  • This course is ideal for Java developers who wish to use Spring Boot to develop enterprise applications that use Kafka as the messaging broker for asynchronous event driven communication.