Apache Kafka for Event-Driven Spring Boot Microservices
Learn to build and test event-driven Spring Boot Microservices using Apache Kafka.
Lo que serás capaz de hacer
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 ). - Write Integration tests for Kafka Consumer and Kafka Producer. - Learn how to implement the Saga design pattern . All from the very beginning, to help you learn how to create Event-Driven Microservices with Apache Kafka and Spring Boot.
- Apache Kafka for Microservices
- Create Event-Driven Microservices
- Work with Kafka CLI
- Work with Kafka Consumers in Java
- Run Multiple Kafka Servers in a cluster
- Work with Kafka Producers in Java
Temario
UNIDAD 1 - Introduction to Apache Kafka · 14 leccionesUNIDAD 1 - Introduction to Apache Kafka
UNIDAD 1 - Introduction to Apache Kafka
- Introduction
- Welcome from the Instructor
- What is Microservice?
- Microservice vs Monolithic application
- Microservices Communication
- Would you like an interview question? Topic: What is a Microservice?
- 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
- Interview and overall review of the basics of Apache Kafka
UNIDAD 2 - Apache Kafka Broker(s) · 11 leccionesUNIDAD 2 - Apache Kafka Broker(s)
UNIDAD 2 - 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
- Would you like an interview question? Topic: Kafka Brokers
UNIDAD 3 - Kafka CLI: Topics · 5 leccionesUNIDAD 3 - Kafka CLI: Topics
UNIDAD 3 - Kafka CLI: Topics
- Introduction to Kafka Topic CLI
- Creating a new Kafka topic
- List and describe Kafka topics
- Deleting Kafka Topic
- Apache Kafka Topic: Summary PDF document.
UNIDAD 4 - Kafka CLI: Producers · 4 leccionesUNIDAD 4 - Kafka CLI: Producers
UNIDAD 4 - Kafka CLI: Producers
- Introduction to Kafka Producer CLI
- Producing Kafka Message without a Key
- Sending Kafka Message as a Key:Value Pair
- Apache Kafka CLI: Producer. Summary PDF document
UNIDAD 5 - Kafka CLI: Consumers · 6 leccionesUNIDAD 5 - Kafka CLI: Consumers
UNIDAD 5 - Kafka CLI: Consumers
- Introduction to Kafka Consumer CLI
- Consuming messages from Kafka topic from the beginning
- Consuming new Kafka messages only
- Consuming Key:Value pair messages from Kafka topic
- Consuming Kafka messages in order
- Apache Kafka CLI: Consumer. Summary PDF document
UNIDAD 6 - Kafka Producer - Spring Boot Microservice · 18 leccionesUNIDAD 6 - Kafka Producer - Spring Boot Microservice
UNIDAD 6 - 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 Kafka 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.
UNIDAD 7 - Kafka Producer: Acknowledgements & Retries · 12 leccionesUNIDAD 7 - Kafka Producer: Acknowledgements & Retries
UNIDAD 7 - Kafka Producer: Acknowledgements & Retries
- Source code
- 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
- Kafka Producer Retries
- Trying how Kafka Producer Retries work
- Kafka Producer Delivery & Request Timeout
- Trying how Kafka Producer Delivery & Request Timeout works
- Quiz: Kafka Producer Acknowledgements and Retries
- Kafka Producer Spring Bean Configuration
UNIDAD 8 - Idempotent Producer in Kafka · 4 leccionesUNIDAD 8 - Idempotent Producer in Kafka
UNIDAD 8 - Idempotent Producer in Kafka
- Source code
- Introduction to Idempotent Kafka Producer
- Enable Kafka Producer Idempotence in application.properties
- Enable Kafka Producer Idempotence in Spring Bean
UNIDAD 9 - Kafka Consumer - Spring Boot Microservice · 12 leccionesUNIDAD 9 - Kafka Consumer - Spring Boot Microservice
UNIDAD 9 - Kafka Consumer - Spring Boot Microservice
- Source code
- Introduction to Kafka Consumer
- Creating a new Spring Boot project
- 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.
UNIDAD 10 - Kafka Consumer - Handle Deserializer Errors · 5 leccionesUNIDAD 10 - Kafka Consumer - Handle Deserializer Errors
UNIDAD 10 - Kafka Consumer - Handle Deserializer Errors
- Source code
- Introduction to Error Handling in Kafka Consumer
- Causing the deserialization problem
- Kafka Consumer ErrorHandlingDeserializer
- Trying how ErrorHandlingDeserializer works
UNIDAD 11 - Kafka Consumer - Dead Letter Topic(DLT) · 6 leccionesUNIDAD 11 - Kafka Consumer - Dead Letter Topic(DLT)
UNIDAD 11 - Kafka Consumer - Dead Letter Topic(DLT)
- Source code
- Introduction to Dead Letter Topic(DLT) in Kafka
- Handle errors: The DefaultErrorHandler and DeadLetterPublishingRecoverer classes
- Create and Configure KafkaTemplate object
- Dead Letter Topic in Kafka: Trying how it works
- Quiz: Dead Letter Topic in Kafka
UNIDAD 12 - Kafka Consumer - Exceptions and Retries · 9 leccionesUNIDAD 12 - Kafka Consumer - Exceptions and Retries
UNIDAD 12 - Kafka Consumer - Exceptions and Retries
- Source code
- Introduction to Exception handling in Kafka consumer and retries
- Creating retryable and not retryable exceptions in Kafka
- Configure DefaultErrorHandler with a list of not retryable exceptions
- Trying how not retryable exception works
- Register RetryableException and define wait time interval
- Throwing a RetryableException
- Overview of a destination Microservice
- Trying how retry works
UNIDAD 13 - Kafka Consumer - Multiple Consumers in a Consumer Group · 8 leccionesUNIDAD 13 - Kafka Consumer - Multiple Consumers in a Consumer Group
UNIDAD 13 - Kafka Consumer - Multiple Consumers in a Consumer Group
- Source code
- Introduction to Kafka Consumer Groups
- Rebalancing and Partition Assignment in Apache Kafka
- Assigning Microservice to a consumer group in Kafka
- Starting up more Microservices
- Trying how partitions assignment works in Kafka
- Multiple consumers consuming messages from Kafka topic
- Quiz. Apache Kafka Consumer Groups
UNIDAD 14 - Idempotent Consumer in Kafka · 10 leccionesUNIDAD 14 - Idempotent Consumer in Kafka
UNIDAD 14 - Idempotent Consumer in Kafka
- Idempotent Consumer - Introduction
- Include a unique id into message header
- Reading a unique id from message header
- Adding database-related dependencies
- Configure database connection details
- Creating JPA Entity
- Create JPA Repository
- Storing a unique message id in a database table
- Check if Kafka message was processed earlier
- Trying how it works
UNIDAD 15 - Apache Kafka Transactions · 10 leccionesUNIDAD 15 - Apache Kafka Transactions
UNIDAD 15 - Apache Kafka Transactions
- Introduction to Transactions in Apache Kafka
- Demo Microservices and source code
- Enable Kafka Transactions in application.properties
- Enable Kafka Transactions in the @Bean method
- Apache Kafka and @Transactional annotation
- Rollback transaction for specific exception
- Reading committed messages in Kafka Consumer
- Excersize: Configure Consumer Microservice to read "committed" messages only
- Trying how Kafka Transactions work
- Apache Kafka local transactions with KafkaTemplate
UNIDAD 16 - Apache Kafka and Database Transactions · 6 leccionesUNIDAD 16 - Apache Kafka and Database Transactions
UNIDAD 16 - Apache Kafka and Database Transactions
- Kafka & Database transactions - Introduction
- Introduction to demo projects & Source Code
- Creating Jpa Transaction Manager
- Synchronized Transaction: Saving to database
- Enable logging for Kafka and Jpa Transaction Managers
- Trying how synchronized transactions work
UNIDAD 17 - Integration Testing - Kafka Producer · 11 leccionesUNIDAD 17 - Integration Testing - Kafka Producer
UNIDAD 17 - Integration Testing - Kafka Producer
- Overview of the System Under Test
- Test class annotations
- Creating an empty test method
- Different ways to execute test methods
- Test method structure. Arrange, Act and Assert.
- Implementing the Arrange and Act sections
- Kafka Consumer Configuration in a Test Class
- The setUp() and tearDown() methods
- The Assert section
- Verify Kafka Producer Configuration Properties - Introduction
- Test Method for Idempotent Kafka Producer
UNIDAD 18 - Integration Testing - Kafka Consumer · 6 leccionesUNIDAD 18 - Integration Testing - Kafka Consumer
UNIDAD 18 - Integration Testing - Kafka Consumer
- Overview of the Method Under Test
- Creating a new test class
- The 'Arrange' section
- Mocking objects
- The 'Act' and 'Assert' sections
- Testing Kafka Consumer - Trying how it works
UNIDAD 19 - Saga design pattern with Apache Kafka · 25 leccionesUNIDAD 19 - Saga design pattern with Apache Kafka
UNIDAD 19 - Saga design pattern with Apache Kafka
- Choreography-Based Saga
- Orchestration-Based Saga
- Saga design pattern - Quiz
- IntelliJ IDEA Ultimate edition licence
- Reserve Product in Stock - Introduction
- Source Code(Saga) + Base project overview
- Publish OrderCreatedEvent
- Publish OrderCreatedEvent - Trying how it works
- Handle OrderCreatedEvent
- Send ReserveProductCommand
- Save order status to a History database table
- Trying how it works
- Handle ReserveProductCommand
- Reserve Product in Stock - business logic
- Publish the ProductReservedEvent
- Publish ProductReservationFailedEvent
- Trying how it works
- Handle the ProductReservedEvent
- Handle the ProcessPaymentCommand
- Handle Process Payment Command - Business Logic
- Publish Payment Processed and Payment Failed events
- Handle PaymentProcessedEvent
- Handle the ApproveOrderCommand
- Handle the OrderApprovedEvent
- Saga Happy Path. Trying how it works.
UNIDAD 20 - Saga. Part 2. Compensating Transactions. · 9 leccionesUNIDAD 20 - Saga. Part 2. Compensating Transactions.
UNIDAD 20 - Saga. Part 2. Compensating Transactions.
- Introduction to Compensating Transactions in Saga
- Source code(Saga compensating transactions) & Important note
- Handle PaymentFailedEvent
- Publish CancelProductReservationCommand
- Handle CancelProductReservationCommand
- Publish ProductReservationCancelledEvent
- Handle ProductReservationCancelledEvent
- Handle the RejectOrderCommand
- Saga Compensating Transactions - Trying how it works
UNIDAD 21 - Appendix A: Run Apache Kafka in a Docker Container · 12 leccionesUNIDAD 21 - Appendix A: Run Apache Kafka in a Docker Container
UNIDAD 21 - Appendix A: Run Apache Kafka in a Docker Container
- Introduction to Running Apache Kafka in a Docker Container
- Download and Install Docker
- Kafka Docker Compose: Initial Configuration
- Apache Kafka KRaft Configuration
- Apache Kafka Listeners Configuration
- Kafka Docker Container: Volumes
- Docker Compose and Environment File for Apache Kafka
- Starting Single Kafka Server in Docker Container
- Execute Apache Kafka CLI Scripts within Docker Container
- Execute Apache Kafka CLI Commands in Docker from the Host Machine
- Multiple Kafka Brokers in a Docker Compose File
- Running multiple Kafka servers in Docker containers - Trying how it works
UNIDAD 22 - [LEGACY] Appendix A: Run Apache Kafka in a Docker Container · 12 leccionesUNIDAD 22 - [LEGACY] Appendix A: Run Apache Kafka in a Docker Container
UNIDAD 22 - [LEGACY] Appendix A: Run Apache Kafka in a Docker Container
- Important note about the Docker image
- Kafka Docker Compose: Initial Configuration
- Apache Kafka KRaft Configuration
- Apache Kafka Listeners Configuration
- Kafka Docker Container: Volumes
- Docker Compose and Environment File for Apache Kafka
- Starting Single Kafka Server in Docker Container
- Execute Apache Kafka CLI Scripts within Docker Container
- Execute Apache Kafka CLI Commands in Docker from the Host Machine
- Execute Apache Kafka CLI Commands on the Host Machine
- Multiple Kafka Brokers in a Docker Compose File
- Running multiple Kafka servers in Docker containers - Trying how it works
UNIDAD 23 - Appendix B: Install Apache Kafka on Windows · 1 leccionesUNIDAD 23 - Appendix B: Install Apache Kafka on Windows
UNIDAD 23 - Appendix B: Install Apache Kafka on Windows
- Install Apache Kafka on Windows. Article.
UNIDAD 24 - What's next? · 7 leccionesUNIDAD 24 - What's next?
UNIDAD 24 - What's next?
- Introduction
- Introduction to Kafka Connect
- When and Why to use Kafka Connect?
- Kafka Connect Core Components: Workers, Connectors, and Tasks
- Kafka Connect Key Components: Transforms, Converters
- Let's connect
- Bonus lecture
Tu certificado lo emite la SEP, no solo una plataforma
Al demostrar la competencia recibes un certificado emitido por la Secretaría de Educación Pública a través del Gobierno del Estado de México: un documento oficial que puedes presentar con confianza ante cualquier empleador o institución.
Tu certificado con INEC
- Lo emite la Secretaría de Educación Pública (SEP), a través del Gobierno del Estado de México
- Documento oficial con folio verificable en línea
- Lo otorga la Universidad Tecnológica Fidel Velázquez
Otras plataformas en línea
- Constancia privada emitida por la misma plataforma
- Solo acredita horas cursadas o asistencia
- Sin respaldo de una autoridad educativa
Tu itinerario, de la inscripción al certificado
- 1
Inscripción con pago único
Pagas $2,800 MXN una sola vez y entras de inmediato al curso.
- 2
Estudias a tu ritmo
24 unidades con videos, lecturas y actividades, disponibles 24/7 durante 12 meses.
- 3
Cuestionarios por unidad
9 cuestionarios para comprobar lo aprendido.
- 4
Certificado
Emitido por la SEP a través del Gobierno del Estado de México, con folio verificable.
Un certificado oficial de la SEP
- Emitido por la Secretaría de Educación Pública (SEP), a través del Gobierno del Estado de México. No es una constancia privada: es un documento oficial, y ese respaldo marca la diferencia frente a otras plataformas en línea.
- Contenido impartido por Sergey Kargopolov.
- Folio y QR verificables para compartirlo con quien te contrate.
Empieza hoy, a tu ritmo
Un solo pago y acceso inmediato al curso completo durante 12 meses.
- 24 unidades · 223 lecciones · 60 h
- 12 meses de acceso
- 9 cuestionarios de evaluación
- Certificado emitido por la SEP (Gob. del Estado de México) con folio verificable
Sobre tu inscripción
¿Cómo es el pago?
Un solo pago de $2,800 MXN. No hay mensualidades ni cargos recurrentes.
¿Cuánto tiempo tengo acceso?
12 meses desde tu inscripción, 24/7, para avanzar a tu ritmo.
¿Quién imparte el contenido?
El curso es impartido por Sergey Kargopolov; INEC gestiona tu inscripción, evaluación y certificado.
¿Qué pasa cuando vence mi acceso?
Puedes renovar tu cuenta tú mismo desde la plataforma, sin trámites ni esperas.


