Better software, faster.
Better software, faster.
Trainer(s): Alexei Bratuhin and/or Sascha Selzer, duration: 2 days (2x 8 hours)
Introduction
In this training, candidates are expected to have experience with Apache Kafka and they have programmed Kafka consumers and producers before. Note: All examples and exercises are programmed with Spring Kafka. We will practice with messaging delivery guarantees and investigate ordering in Kafka. We also learn how to detect, prevent and handle errors that can occur when sending messages with Kafka. And learn the basics of Kafka Streams.
Detailed description
This training starts with a short review of what producers and consumers are and their most important properties. Then we will continue to discuss Kafka’s delivery guarantees: at most once, at least once, exactly once and look at message ordering within Kafka. We will do an exercise in which we program the producer and consumer so that a message arrives exactly once and in the order in which the message was sent. After that we will discuss best practices with rebalancing partitions.
Next topic of the day is error management. We will look at which kind of errors can occur and what you can do when errors occur. We practice different retry strategies in Spring Kafka Consumer. We will also look at which Kafka metrics are handy to monitor and how to trace messages.
Last topic of the day is Kafka streams. We will learn the basic concepts of stream processing and look at the Kafka streaming API. As exercise we will create a Kafka Stream Application.
Target audience
The training is intended for Java developers who have already followed the Kafka Essentials course or already have a lot of experience working with Kafka. This is a hands-on training aimed at developers. A lot of attention is paid to creating and studying code examples of Kafka Clients that you can use when working on a project with Apache Kafka.
Learning goals
Skills acquired
Topics
Training outline
Day 1: Our Apache Kafka Essentials training.
Day 2:
Kafka Basics: Producers, Consumers: +/- 0.5h
Delivery Semantics: +/- 2h
Rebalancing +/- 0.5h
Error Management: +/- 1,5h
Kafka Streams: +/ 3h
Prerequisites
Provided training material
After doing the training you will have good code examples that you can use when starting an Apache Kafka project. After the training you will receive possible solutions of the exercises and the slides in PDF format.
About the trainers
Alexei is a senior software engineer at OpenValue with over 15 years of experience in Java development and consulting. He specializes in building cloud-native applications and microservices using Quarkus, Spring Boot, and MicroProfile. Throughout his career, he has held various technical leadership roles including dev lead, technical architect, and DevOps engineer across multiple domains such as information security, telecommunications, and automotive.
As an active contributor to the Quarkus ecosystem, Alexei has made contributions to several open-source projects including dbunit, database-rider, junit5-kubernetes, smallrye-reactive-messaging, and Quarkus itself. He is passionate about optimizing development workflows and helping teams adopt best practices in continuous delivery, test-driven development, and clean code.
Alexei brings a wealth of practical experience to his training sessions, drawing from his extensive background in both backend and frontend development. His teaching approach focuses on practical, real-world scenarios and helping developers create maintainable, high-quality applications with Quarkus.
Sascha Selzer is a Senior Software Engineer at OpenValue. He specializes in:
He has extensive experience in training and is an iSAQB trainer. He also enjoys speaking at conferences and publishing articles.
We had a great hands-on Kafka course which directly translated into practical suggestions for an ongoing project we were working on. Very complete and detailed information. Great experience in all.
Standard pricing for this training: EUR 1295,- ex VAT per attendee.
Please contact us for pricing for tailored content and for in house group trainings.
Trainings can be given in one of our offices (Utrecht, Amsterdam, Rotterdam, Arnhem, Munich, Dusseldorf, Vienna, Zurich), on site at a client location, or (in some cases) remote. Training content can be tailored to meet your specific requirements.
Want to enroll or have a question? Contact us via mail at info@openvalue.training, give us a call at +31-85-0606886 or use the form below.