Master the Kafka Streams API to build advanced real time Kafka Streaming applications using Java and SpringBoot. Kafka Streams API For Developers using Java/SpringBoot
Udemy Coupon Codes
Kafka Streams API is an advanced API that's part of the Kafka Ecosystem.
Using Kafka Streams API, we can :
- Apply data transformations,
- Data enrichment,
- Branching the data into multiple data streams.
- Aggregating the data or joining data from multiple Kafka topics.
- Aggregate the Data into Window Buckets and more.
The Kafka Streams API For Developers using Java/SpringBoot course is structured to give you both the theoretical and coding experience of developing Kafka Streams Applications using Streams API and also covers the techniques to use Enterprise Standard Kafka Streams Application using SpringBoot and Streams API .
This is a pure hands-on oriented course where you will be learning the concepts through code. You will build a realtime Kafka Streams application by the end of this course.
By the end of this course, you will have a complete understanding of these concepts:
- Building Kafka Streams Applications using Streams API
- Building Kafka Streams Applications using SpringBoot & Streams API
- Write Interactive Queries to retrieve the aggregated data from a state store and expose it via RESTFUL API.
- Unit and Integration Testing Kafka Streams Applications using JUnit5
Getting Started to Kafka Streams
In this section, I will give you all an introduction to Kafka streams and the different terminologies that are involved in build a Kafka Streams Application.
- Introduction to Kafka Streams
- Kafka Streams Terminologies - Topology & Processor
- Introduction to KStreams API
Greetings Kafka Streams App using KStreams API
In this section, we will build a simple Kafka Streams App and test it in our local.
- Learn to build a Topology of the Greetings App
- Build the Kafka Streams Launcher Application using which we can start and stop the application.
Operators in Kafka Streams using KStream API
In this section, we will explore some of the operators in the thats part of the Kafka Streams API.
- Filter & FilterNot
- Map/MapValues
- FlatMapValues/FlatMap
- peek
- merge
Serialization and Deserialization in Kafka Streams
In this section, we will code and explore the serialization and deserialization in Kafka Streams.
- How Key/Value serialization and deserialization works in Kafka Streams ?
- Providing Default Serializer/Deserializer using Application Configuration
- Build a Custom Serdes for Enhanced Greeting Messages
Reusable Generic Serializer/Deserializer (Recommended Approach)
In this section, I will show you the best approach to build a Generic Serializer and Deserializer that can be used for any type of Messages.
- Build a Generic Serializer/Deserializer
Order Management Kafka Streams application - A real time use case
In this section, we will build a kafka streams application by implementing a Order Management system for a retail company
Topology, Stream and Tasks - Under the Hood
In this section, we will explore the internals of the Kafka Streams Application.
- Internals of Topology, Stream and Tasks
Error/Exception Handling in Kafka Streams
In this section, we will explore different error handlers in Kafka Streams.
- Failures in Kafka Streams
- Default Deserialization Error Behavior
- Custom Deserialization Error Handler
- Default & Custom Processor Error Handler
- Custom Production Error Handler
KTable & Global KTable
In this section, we will explore the KTable and GlobalKTable in KafkaStreams.
- Introduction to KTable API
- Build a topology for KTable
- KTable - Under the Hood
- GlobalKTable
StateFul Operations in Kafka Streams - Aggregate, Join and Windowing Events
In this section, I will give an introduction to stateful operators in Kafka Streams and explore the aggregation related operators in Kafka streams.
- StateFul Operations in Kafka Streams
- How aggregation works ? & Aggregation using "count" operator
- Group Records by using groupBy operator
- Aggregation using "reduce" operartor
- Aggregation using "aggregate" operator
- Using Materialized views for count & reduce operator
StateFul Operation Results - How to access them ?
In this section, I will explain about the options to retrieve the results of the aggregation.
Re-Keying Kafka Records for Stateful operations
In this section, we will code and explore the effect of null operator and the need to rekeying records during stateful operations.
StateFul Operations in Kafka Streams - Join
In this section, we will code and explore the different types of Joins in Kafka Streams Application.
Join in Order Management Application - A Real Time Use Case
In this section, we will implement join in the order management application that we have been working on so far.
- Introduction to Joins & Types of Joins in Kafka Streams
- Explore innerJoin using "join" operator - Joining KStream and KTable
- Explore innerJoin using "join" operator - Joining KStream and GlobalKTable
- Explore innerJoin using "join" operator - Joining KTable and KTable
- Explore innerJoin using "join" operator - Joining KStream and KStream
- Joining Kafka Streams using "leftJoin" operator
- Joining Kafka Streams using "outerJoin" operator
- Join - Under the hood
- CoPartitioning Requirements in Joins & Joins Under the Hood
StateFul Operations in Kafka Streams - Windowing
In this section, we will explore the windowing concepts in Kafka Streams.
- Introduction to Windowing and time concepts
- Windowing in Kafka Streams - Tumbling Windows
- Control emission of windowed results using "supress" operartor
- Windowing in Kafka Streams - Hopping Windows
- Windowing in Kafka Streams - Sliding Windows
Widowing in Order Management Application - A Real Time Use Case
In this section, we will code and explore the new requirement to implement the windowing in the Orders Stream Application.
INSTRUCTOR
Technology Enthusiast, Online Instructor