Kafka Streams – Event Streaming Application
Why this workshop?
In recent years, the status quo switched to infinite data streams, while tables and lists are no longer
enough to handle these loads. Current apps are processing extremely large volumes of data, with an
Kafka is the most efficient data pipeline system, precisely because it has the fewest features. For
processing all this data, the best tool is Kafka Streams, because it transposes into distributed
environments all the philosophy and simplicity of functional programming.
The goal of this workshop is to inspire you to build models that fit your context and to show you that it can be done with little effort. We will also discuss a few strategies about how to model key areas and how to effectively manage the whole system.
Why this workshop?
In this technical session, we will solve a set of real-life business requirements, using a stack of
microservices. We will cover event storming, event streaming, and CQRS with an easy-to-understand approach.
We will start with requirements gathering, then we’ll define the domain model and implement an event streaming architecture. We will use Kafka as the source of truth, Kafka Streams for event processing, and add a separate database for querying.
We will begin with a small set of requirements. Based on them we will have a short session of Event Storming to identify events, commands, and aggregates. We will then model a few rest endpoints for sending commands and querying the data.
Using Spring Boot and Kafka Streams we will implement the command side of the application.
The query side of the application will be written using Spring Boot, Kafka Streams, and Apache Solr.
Who is it for?
This workshop is addressed to all developers already using or planning to work with streaming
technologies and/or to those handling large volumes of data that need to be processed in the shortest possible time.
Who is the trainer?
With more than 20 years of experience in various software development positions, from programmer to architect, Miron Brezai is currently Chief Software Architect at eSolutions. His focus is on designing custom software solutions on cloud infrastructures and microservices architectures for various business
domains. Miron can easily adapt to any technology with a preference towards open source java tools/frameworks.
He is also actively involved in eSolutions Academy, delivering training in key areas, such as Java, Design Patterns, Spring Framework, Clean Code, Reactive Programming, Microservices Architectures, and Big
Data Tools. In recent years, Miron became an adopter and promoter of Event Storming & Event Sourcing Architecture, as an important improvement, by simplifying tasks in complex domains, while raising
performance, scalability and responsiveness.
● Basic knowledge of Kafka
● We will work in Java, using any preferred Java IDE
● We will use Docker and Docker Compose
Chief Software Architect @ Esolutions