What you'll 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
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 GroupRebalance
Consumer retry and Spring retry topics
Consuming message batches
Kafka JSONserialization
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.