We may earn an affiliate commission when you visit our partners.
Course image
Sergey Kargopolov

In this video course, you will learn how to use Apache Kafka to build Event-Driven Spring Boot Microservices.

This course is designed for beginners and will start from the basics of Microservices and Apache Kafka.

You will learn: 

Read more

In this video course, you will learn how to use Apache Kafka to build Event-Driven Spring Boot Microservices.

This course is designed for beginners and will start from the basics of Microservices and Apache Kafka.

You will learn: 

- What is Apache Kafka, and how to work with it using Command Line Interface(CLI),

You will learn how to use Kafka CLI to : 

- Start multiple Apache Kafka servers in a cluster,

- Work with Kafka Topics,

- Work with Kafka Producer to produce messages,

- Work with Kafka Consumer to consume messages.

You will learn how to create a basic Spring Boot Microservice that acts as a Kafka Producer. While working with this Microservice you will learn: 

- How to send Kafka messages synchronously,

- How to send Kafka messages asynchronously,

- How to work with Acknowledgements, Retries, Delivery and Request timeouts.

You will also learn how to create Kafka Consumer Spring Boot Microservice. While creating Consumer Microservice you will learn to: 

- Consume messages from Kafka topic,

- Handle and recover from errors,

- Work with Kafka Dead Letter Topic(DLT),

- Configure multiple consumer microservices to work as a group(Consumer Groups).

All from the very beginning, to help you learn how to create Event-Driven Microservices with Apache Kafka and Spring Boot.

Enroll now

What's inside

Learning objectives

  • Apache kafka for microservices
  • Create event-driven microservices
  • Work with kafka cli
  • Run multiple kafka servers in a cluster
  • Work with kafka consumers in java
  • Work with kafka producers in java
  • Handle and recover from errors

Syllabus

Introduction to Apache Kafka
Introduction
What is Microservice?
Microservice vs Monolithic application
Read more
Microservices Communication
Event-Driven Architecture with Apache Kafka
Apache Kafka for Microservices
Apache Kafka for Microservices Quiz
Messages and Events in Apache Kafka
Kafka Topic and Partitions
Ordering of Events in Apache Kafka
Quiz: Kafka Topics, Partitions and Messages
Apache Kafka Broker(s)
What is Apache Kafka broker?
Apache Kafka broker: Leader and Follower roles. Leadership balance.
Quiz: Kafka Broker
Download Apache Kafka(MacOS)
Run Apache Kafka on Windows or in Docker
Start single Apache Kafka broker with KRaft
Multiple Kafka broker: Configuration Files
Multiple Kafka broker: Storage folders
Starting multiple Kafka broker with KRaft
Stopping Apache Kafka brokers
Kafka CLI: Topics
Introduction to Kafka Topic CLI
Creating a new Kafka topic
List and describe Kafka topics
Deleting a Topic
Apache Kafka Topic: Summary PDF document.
Kafka CLI: Producers
Introduction Kafka Producer CLI
Producing a Message without a Key
Send message as a Key:Value Pair
Apache Kafka CLI: Producer. Summary PDF document
Kafka CLI: Consumers
Introduction to Kafka Consumer CLI
Consuming messages from Kafka topic from the beginning
Consuming new messages only
Consuming Key:Value pair messages from Kafka topic
Consuming messages in order
Apache Kafka CLI: Consumer. Summary PDF document
Kafka Producer - Spring Boot Microservice
Source code
Introduction to Kafka Producer
Kafka Producer - Introduction to synchronous communication style
Kafka Producer - A use case for asynchronous communication style
Quiz: Kafka Producer.
Creating a new Spring Boot project
Kafka Producer configuration properties
Creating Kafka Topic
Run Microservice to create a new topic
Creating Rest Controller
Creating a Service class
Creating an Event class
Kafka Producer: Send Message Asynchronously
Kafka Asynchronous Send. Trying how it works.
Kafka Producer: Send Message Synchronously
Kafka Producer: Handle Exception in Rest Controller
Kafka Producer: Logging Record Metadata Information
Kafka Synchronous Send. Trying how it works.
Kafka Producer: Acknowledgements & Retries
Kafka Producer Acknowledgement: Introduction
Kafka Producer Retries: Introduction
Configure Producer Acknowledgments in Spring Boot Microservice
The min.insync.replicas configuration
Trying how the min.insync.replicas works
Producer Retries
Trying how Producer Retries work
Delivery & Request Timeout
Trying how Delivery & Request Timeout works
Quiz: Kafka Producer Acknowledgements and Retries
Kafka Producer Spring Bean Configuration
Apache Kafka Idempotent Producer
Introduction to Idempotent Producer
Enable Kafka Producer Idempotence in application.properties
Enable Kafka Producer Idempotence in Spring Bean
Kafka Consumer - Spring Boot Microservice
Introduction to Kafka Consumer
Kafka Consumer Configuration Properties
Kafka Consumer with @KafkaEventListener and @KafkaHandler annotations
Creating the "core" module
Adding "core" project as a dependency
@KafkaHandler: Trying how it works
Kafka Consumer Spring Bean Configuration
Kafka Listener Container Factory
Trying if Kafka Consumer Bean Configuration works
Quiz: Apache Kafka Consumer.
Kafka Consumer - Handle Deserializer Errors
Introduction to Error Handling in Kafka Consumer
Causing the deserialization problem
Kafka Consumer ErrorHandlingDeserializer
Trying how ErrorHandlingDeserializer works
Kafka Consumer - Dead Leter Topic(DLT)
Introduction to Dead Letter Topic(DLT) in Kafka
Handle errors: The DefaultErrorHandler and DeadLetterPublishingRecoverer classes

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Taught by Sergey Kargopolov, who has a strong reputation for their work in Apache Kafka
Examines Apache Kafka, which is highly relevant to event-driven microservices
Develops Apache Kafka skills, which are core for building event-driven microservices
Taught with a strong foundation for beginners
Examines industry-standard methods for Apache Kafka and Spring Boot for building event-driven microservices
Includes hands-on labs and interactive materials

Save this course

Save Apache Kafka for Event-Driven Spring Boot Microservices to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Apache Kafka for Event-Driven Spring Boot Microservices with these activities:
Connect with Kafka Experts
Seek guidance and support from experienced Kafka professionals to enhance knowledge and gain insights.
Browse courses on Kafka
Show steps
  • Identify potential mentors in the Kafka community.
  • Reach out to mentors and request guidance or mentorship.
Review Apache Kafka Concepts
Review basic Kafka concepts to strengthen foundational understanding.
Browse courses on Apache Kafka
Show steps
  • Read documentation or watch videos on Apache Kafka fundamentals.
  • Practice working with Kafka CLI commands.
  • Experiment with creating and consuming Kafka topics.
Apache Kafka Tutorial for Microservices
Follow a guided tutorial to gain hands-on experience with Kafka in a microservices context.
Browse courses on Microservices
Show steps
  • Find a comprehensive tutorial on Kafka for microservices.
  • Set up the necessary tools and environment.
  • Build and run the example microservices provided in the tutorial.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Kafka CLI Exercises
Complete exercises using Kafka CLI to enhance understanding and proficiency.
Show steps
  • Create and manage Kafka topics using CLI commands.
  • Produce and consume messages using CLI.
  • Monitor and troubleshoot Kafka clusters using CLI.
Kafka Discussion Group
Join a discussion group to share knowledge, ask questions, and collaborate with peers on Kafka-related topics.
Browse courses on Kafka
Show steps
  • Find or create a discussion group focused on Kafka.
  • Participate in discussions, ask questions, and provide insights.
  • Collaborate with group members on Kafka-related projects or challenges.
Simple Kafka Producer-Consumer Project
Develop a small project involving a Kafka producer and consumer to solidify microservices communication.
Show steps
  • Design the project architecture and data flow.
  • Create a Kafka producer to send messages.
  • Create a Kafka consumer to receive and process messages.
  • Test and debug the project to ensure it works as intended.
Kafka Blog Post or Article
Write and share a blog post or article on a Kafka-related topic to enhance understanding and reinforce learning.
Browse courses on Kafka
Show steps
  • Choose a specific Kafka topic or concept to focus on.
  • Research and gather information on the chosen topic.
  • Write a well-structured and informative blog post or article.
  • Publish the content online and share it with the community.
Kafka Hackathon
Participate in a Kafka hackathon to apply and extend knowledge, collaborate with others, and showcase skills.
Browse courses on Kafka
Show steps
  • Find a Kafka-focused hackathon to participate in.
  • Form a team or work individually on a Kafka-related project.
  • Develop and implement a solution that meets the hackathon's requirements.
  • Present the project to a panel of judges.

Career center

Learners who complete Apache Kafka for Event-Driven Spring Boot Microservices will develop knowledge and skills that may be useful to these careers:
Event-Driven Architect
An Event-Driven Architect designs, builds, and maintains systems that are reactive to events. This course can help Event-Driven Architects by teaching them how to use Apache Kafka to build Event-Driven Microservices. This can help them to create systems that are more responsive to change and that can handle high volumes of data. Additionally, this course can help Event-Driven Architects to learn how to use Kafka CLI to work with Kafka topics, producers, and consumers. This can help them to troubleshoot problems with Kafka systems and to optimize performance.
Software Engineer
A Software Engineer designs, develops, and maintains software applications. This course can help Software Engineers by teaching them how to use Apache Kafka to build Event-Driven Microservices. This can help them to create applications that are more responsive to change and that can handle high volumes of data. Additionally, this course can help Software Engineers to learn how to use Kafka CLI to work with Kafka topics, producers, and consumers. This can help them to troubleshoot problems with Kafka systems and to optimize performance.
Microservices Architect
A Microservices Architect designs, builds, and maintains microservices-based applications. This course can help Microservices Architects by teaching them how to use Apache Kafka to build Event-Driven Microservices. This can help them to create applications that are more modular and scalable. Additionally, this course can help Microservices Architects to learn how to use Kafka CLI to work with Kafka topics, producers, and consumers. This can help them to troubleshoot problems with Kafka systems and to optimize performance.
Java Developer
A Java Developer designs, develops, and maintains Java applications. This course can help Java Developers by teaching them how to use Apache Kafka to build Event-Driven Microservices. This can help them to create applications that are more responsive to change and that can handle high volumes of data. Additionally, this course can help Java Developers to learn how to use Kafka CLI to work with Kafka topics, producers, and consumers. This can help them to troubleshoot problems with Kafka systems and to optimize performance.
Data Engineer
A Data Engineer designs, builds, and maintains data pipelines. This course can help Data Engineers by teaching them how to use Apache Kafka to build Event-Driven Microservices. This can help them to create data pipelines that are more responsive to change and that can handle high volumes of data. Additionally, this course can help Data Engineers to learn how to use Kafka CLI to work with Kafka topics, producers, and consumers. This can help them to troubleshoot problems with Kafka systems and to optimize performance.
Network Engineer
A Network Engineer designs, builds, and maintains computer networks. This course may be useful for Network Engineers by teaching them how to use Apache Kafka to build Event-Driven Microservices. This can help them to create networks that are more scalable and resilient. Additionally, this course may help Network Engineers to learn how to use Kafka CLI to work with Kafka topics, producers, and consumers. This can help them to troubleshoot problems with Kafka systems and to optimize performance.
Quality Assurance Analyst
A Quality Assurance Analyst tests software applications. This course may be useful for Quality Assurance Analysts by teaching them how to use Apache Kafka to build Event-Driven Microservices. This can help them to test applications that are more responsive to change and that can handle high volumes of data. Additionally, this course may help Quality Assurance Analysts to learn how to use Kafka CLI to work with Kafka topics, producers, and consumers. This can help them to troubleshoot problems with Kafka systems and to optimize performance.
System Administrator
A System Administrator maintains computer systems. This course may be useful for System Administrators by teaching them how to use Apache Kafka to build Event-Driven Microservices. This can help them to create systems that are more scalable and resilient. Additionally, this course may help System Administrators to learn how to use Kafka CLI to work with Kafka topics, producers, and consumers. This can help them to troubleshoot problems with Kafka systems and to optimize performance.
Technical Writer
A Technical Writer creates and maintains technical documentation. This course may be useful for Technical Writers by teaching them how to use Apache Kafka to build Event-Driven Microservices. This can help them to create documentation that is more accurate and up-to-date. Additionally, this course may help Technical Writers to learn how to use Kafka CLI to work with Kafka topics, producers, and consumers. This can help them to troubleshoot problems with Kafka systems and to optimize performance.
Cloud Architect
A Cloud Architect designs, builds, and maintains cloud-based applications. This course may be useful for Cloud Architects by teaching them how to use Apache Kafka to build Event-Driven Microservices. This can help them to create applications that are more scalable and resilient. Additionally, this course may help Cloud Architects to learn how to use Kafka CLI to work with Kafka topics, producers, and consumers. This can help them to troubleshoot problems with Kafka systems and to optimize performance.
DevOps Engineer
A DevOps Engineer builds and maintains software systems. This course may be useful for DevOps Engineers by teaching them how to use Apache Kafka to build Event-Driven Microservices. This can help them to create systems that are more scalable and resilient. Additionally, this course may help DevOps Engineers to learn how to use Kafka CLI to work with Kafka topics, producers, and consumers. This can help them to troubleshoot problems with Kafka systems and to optimize performance.
Data Scientist
A Data Scientist uses data to solve business problems. This course may be useful for Data Scientists by teaching them how to use Apache Kafka to build Event-Driven Microservices. This can help them to create data pipelines that are more responsive to change and that can handle high volumes of data. Additionally, this course may help Data Scientists to learn how to use Kafka CLI to work with Kafka topics, producers, and consumers. This can help them to troubleshoot problems with Kafka systems and to optimize performance.
Security Engineer
A Security Engineer designs, builds, and maintains security systems. This course may be useful for Security Engineers by teaching them how to use Apache Kafka to build Event-Driven Microservices. This can help them to create systems that are more secure and resilient. Additionally, this course may help Security Engineers to learn how to use Kafka CLI to work with Kafka topics, producers, and consumers. This can help them to troubleshoot problems with Kafka systems and to optimize performance.
Product Manager
A Product Manager manages the development and launch of new products. This course may be useful for Product Managers by teaching them how to use Apache Kafka to build Event-Driven Microservices. This can help them to create products that are more scalable and resilient. Additionally, this course may help Product Managers to learn how to use Kafka CLI to work with Kafka topics, producers, and consumers. This can help them to troubleshoot problems with Kafka systems and to optimize performance.
Business Analyst
A Business Analyst analyzes business needs and designs solutions. This course may be useful for Business Analysts by teaching them how to use Apache Kafka to build Event-Driven Microservices. This can help them to design solutions that are more scalable and resilient. Additionally, this course may help Business Analysts to learn how to use Kafka CLI to work with Kafka topics, producers, and consumers. This can help them to troubleshoot problems with Kafka systems and to optimize performance.

Reading list

We've selected nine books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Apache Kafka for Event-Driven Spring Boot Microservices.
Provides a series of best practices and design patterns for writing effective Java code. Essential reading for Java developers of all levels, including those who are working with Kafka.
Introduces design patterns and best practices for building microservices. It can provide additional background and context for the course's discussions of microservices principles.
Provides a comprehensive overview of Apache Kafka, including its architecture, features, and use cases. It valuable resource for anyone who wants to learn more about Kafka and how to use it to build real-world applications.
Covers reactive programming in Spring, which is used to build asynchronous and event-driven applications like the ones in the course.
Provides a practical guide to building event-driven microservices using Apache Kafka. It covers topics such as microservice design, event sourcing, and stream processing. It valuable resource for anyone who wants to learn how to build scalable and resilient microservices.
Will teach you how to design and implement scalable data systems, which is useful background for understanding how Kafka fits into a larger data-driven architecture.
Provides a detailed reference for Kafka, covering its architecture, components, and features. A valuable resource for those who want to understand Kafka in depth.
Provides a fun and engaging introduction to design patterns, including those that are commonly used in Kafka applications.
Suitable for those who are looking for an easy-to-read guide to Kafka. provides a thorough overview of Kafka's architecture, operations, and best practices.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Apache Kafka for Event-Driven Spring Boot Microservices.
Event-Driven Microservices: Spring Boot, Kafka and Elastic
Most relevant
Microservices: Clean Architecture, DDD, SAGA, Outbox &...
Most relevant
Spring Boot Microservices with Spring Cloud Beginner to...
Most relevant
Getting Started with Apache Kafka
Most relevant
Microservices with Spring Cloud
Most relevant
Advanced Java
Most relevant
The Complete Apache Kafka Practical Guide
Most relevant
Master Microservices with Spring Boot and Spring Cloud
Most relevant
Spring Boot 3 Fundamentals
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser