
Introducing the course An Introduction to Kafka with Spring Boot
Introducing the section Messaging with Kafka
Understand the differences between synchronous and asynchronous communication
Learn the key differences between the well known message brokers
Learn the background to Kafka, how it works, and the core concepts
Understand the terminology when describing messages and events
Learn what a Kafka message is and what it is comprised of
Learn what KRaft is and why it is replacing Zookeeper
Introducing the section Installing and Running Kafka
Learn how to install and run an instance of the Kafka broker locally
Learn how to install and run an instance of the Kafka broker locally on Windows using the Windows Subsystem for Linux (WSL)
Learn how to send and receive messages using the Kafka command line tools
Learn how to use the most useful Kafka command line tools
Recapping the section Installing and Running Kafka
Introducing the section Coding Kafka with Spring Boot
Learn how to create the initial Spring Boot project with Spring Kafka using Spring Initializr
Learn how to add a Kafka consumer to the Spring Boot application to consume messages
Learn how to use Spring Kafka to deserialize JSON messages and map them to their Java representations
Learn how to handle deserialization errors with Spring Kafka
Learn how to define and configure the Kafka Spring Beans in the application Configuration class
Learn how topics can be created manually or automatically, and when to use each approach
Learn how to send messages using a Kafka producer
Run the application on the command line and consume the messages produced by the application
Recapping the section Coding Kafka with Spring Boot
Introducing the section Spring Boot Integration Test
Learn how to write a Spring Boot integration test
Introducing the section Multiple Instances & Consumer Groups
Overview of the upcoming consumer group exercises
Learn how consumers belonging to the same consumer group determine the messages they receive
Learn how consumer groups facilitate consumer failover
Learn how consumers belonging to separate consumer groups determines the messages they receive
Recapping the section Multiple Instances & Consumer Groups
Introducing the section Keys and Partitions
Learn how Kafka is able to guarantee message ordering by using message keys
Learn how to view the key of a consumed message using the command line tools
Recapping the section Keys and Partitions
Introducing the section Consuming Multiple Event Types
Learn how to consume multiple event types from the same topic
Learn about trusted packages and how to configure these with Spring Kafka
Recapping the section Consuming Multiple Event Types
This is the course for learning Kafka, Java, with 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 Spring Boot and 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.
On your learning journey you will cover:
Kafka Fundamentals
Unit Tests and Integration Testing using Embedded brokers
Failure concepts and how to handle them - Retries, Poison Pills, and Dead Letter Topics
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 will 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.
5 STARS - Presentation and content is superbly done.
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 enrolment 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 enrolment, 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.
Associated articles offering further detail on the topics covered throughout the course are available to download as PDFs. These include:
Writing and testing a Kafka Spring Boot application
Keys, partitions and message ordering
Consumer Group Rebalance
Consumer retry and Spring retry topics
Consuming message batches
Kafka JSON serialization
Managing poison pill messages
Single vs discrete Kafka topics
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.