Duration: 5h 26m | .MP4 | 720p | Language: English
Learn how to integrate with the Kafka messaging broker using Spring Boot 3 and Spring Kafka
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
Use Spring Kafka to consume and produce messages
Cover the important Spring and Spring Kafka annotations
Write Spring Boot integration tests with the embedded Kafka broker
Learn how to retry failed Kafka messages
Route messages that cannot be processed to dead letter topics
How to configure your Kafka Spring Beans
Serialize and deserialize messages in different formats, including Strings and JSON
How to use Wiremock to trigger failure scenarios that we can test
Learn all the core Kafka messaging concepts including messages, topics, partitions and keys
Use command line tools to send and receive messages and query the broker state
Learn about consumer groups, rebalancing, and consumer failover
Understand the role of consumer offsets
Learn the key differences between the main messaging brokers
Understand why Zookeeper is being replaced with KRaft
Basic Java knowledge
Basic Spring knowledge
This course is for all things Kafka, Java, Spring and Spring Boot!
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 – it has been designed with the Java developer in mind to be able to gain the most from it.
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.
Inside this course you will learn about:
Kafka Background and Concepts:
The Kafka messaging broker
All the 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 ordering with message keys
Installing and Running Kafka:
Installing and running the broker locally
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.
Who this course is for:
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.