Kafka Streams API For Developers using Java/SpringBoot 3.X
Kafka Streams API For Developers using Java/SpringBoot 3.X, available at $89.99, has an average rating of 4.6, with 130 lectures, based on 212 reviews, and has 3177 subscribers.
You will learn about Build Advanced Kafka Streams Applications using Streams API Build Kafka Streams Application using HighLevel DSL Exactly Once Processing- Transactions and Idempotent Producer Build a Realtime Retail Streaming application using Streams API Aggregate Multiple events in to aggregated events Join Multiple Streams into one Joined Stream Aggregate Streams into Windowed Group of Events Build Enterprise Standard Kafka Streams Application using SpringBoot Testing Kafka Streams using TopologyTestDriver using JUnit5 Testing Spring Kafka Streams using EmbeddedKafka and JUnit5 Build Interactive Queries to retrieve the aggregated data through RESTFUL APIs Interactive queries with multiple instances of the Kafka Streams Instance [MicroServices Pattern] This course is ideal for individuals who are Advanced Java Developers or Kafka Developers who are curious to learn Kafka Streams API or Kafka Developers who are interested in building advanced streaming applications or Developers who wish to learn the techniques to test Kafka Streams Application using TopologyTestDriver It is particularly useful for Advanced Java Developers or Kafka Developers who are curious to learn Kafka Streams API or Kafka Developers who are interested in building advanced streaming applications or Developers who wish to learn the techniques to test Kafka Streams Application using TopologyTestDriver.
Enroll now: Kafka Streams API For Developers using Java/SpringBoot 3.X
Summary
Title: Kafka Streams API For Developers using Java/SpringBoot 3.X
Price: $89.99
Average Rating: 4.6
Number of Lectures: 130
Number of Published Lectures: 130
Number of Curriculum Items: 133
Number of Published Curriculum Objects: 133
Original Price: $199.99
Quality Status: approved
Status: Live
What You Will Learn
- Build Advanced Kafka Streams Applications using Streams API
- Build Kafka Streams Application using HighLevel DSL
- Exactly Once Processing- Transactions and Idempotent Producer
- Build a Realtime Retail Streaming application using Streams API
- Aggregate Multiple events in to aggregated events
- Join Multiple Streams into one Joined Stream
- Aggregate Streams into Windowed Group of Events
- Build Enterprise Standard Kafka Streams Application using SpringBoot
- Testing Kafka Streams using TopologyTestDriver using JUnit5
- Testing Spring Kafka Streams using EmbeddedKafka and JUnit5
- Build Interactive Queries to retrieve the aggregated data through RESTFUL APIs
- Interactive queries with multiple instances of the Kafka Streams Instance [MicroServices Pattern]
Who Should Attend
- Advanced Java Developers
- Kafka Developers who are curious to learn Kafka Streams API
- Kafka Developers who are interested in building advanced streaming applications
- Developers who wish to learn the techniques to test Kafka Streams Application using TopologyTestDriver
Target Audiences
- Advanced Java Developers
- Kafka Developers who are curious to learn Kafka Streams API
- Kafka Developers who are interested in building advanced streaming applications
- Developers who wish to learn the techniques to test Kafka Streams Application using TopologyTestDriver
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/SpringBootcourse 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.
Behavior of Records with Future & Older Timestamp in Windowing
In this section, we will explore the behavior of records with the older and future timestamp in a Kafka Streams Application.
-
Build Kafka Streams Application using SpringBoot
-
In this section, we will build a simple kafka streams app using SpringBoot.
-
Introduction to SpringBoot and Kafka Streams
-
Setup the Project – Greeting Streams app using Spring Kafka Streams
-
Configuring the Kafka Stream using application.yml
-
Build the Greeting Topology
-
Test Greeting App in Local
SpringBoot AutoConfiguration of Kafka Streams
In this section, I will show you how spring boot auto configures Kafka Streams Application.
JSON Serialization/Deserialization in Spring Kafka Streams
In this section, we will implement the JSON Serialization/Deserialization in Kafka Streams using SpringBoot.
Error Handling in Spring Kafka Streams
In this section, I will show you error handling in Kafka Streams using SpringBoot.
-
Handle DeSerialization Error – Approach 1
-
Handle DeSerialization Error using Custom Error Handler – Approach 2
-
Handle Deserialization Error – Approach 3 ( Spring Specific Approach)
-
Handle UncaughtExceptions in the Topology
-
Handle Production Errors
Build Orders Kafka Streams Application using SpringBoot
In this section, we will set up the Spring Boot Project for orders streams.
Interactive Queries – Querying State Stores using RESTFUL APIs
-
Build a GET Endpoint to retrieve the OrderCount by OrderType – Part 1
-
Build a GET Endpoint to retrieve the OrderCount by OrderType – Part 2
-
Retrieve OrderCount by OrderType & LocationId
-
Build a GET Endpoint to retrieve the OrderCount for All OrderTypes
-
Build a GET Endpoint to retrieve the Revenue by OrderType
-
Global Error Handling for useful Client Error Messages
Interactive Queries – Querying Window State Stores using RESTFUL APIs
-
Build a GET Endpoint to Retrieve OrderCount by OrderType
-
Build a GET Endpoint to Retrieve the windowed OrderCount for All OrderTypes
-
Build a GET endpoint to retrieve the windowed OrderCount within a Time Range
-
Build a GET Endpoint to retrieve the Revenue by OrderType
Testing Kafka Streams Using TopologyTestDriver & JUnit5
In this section, we will code and learn about how to write automated tests for Kafka Streams app.
-
Testing Kafka Streams using TopologyTestDriver
-
Unit Testing Greetings App – Writing Data to a Output Topic
-
Unit Testing Greetings App – Testing Multiple Messages
-
Unit Testing Greetings App – Error Scenario
-
Unit Testing OrdersCount – Writing Data to a State Store
-
Unit Testing OrdersRevenue – Writing Data to a State Store
-
Unit Testing OrdersRevenue By Windows – Writing Data to a State Store
-
Limitations of TopologyTestDriver
Testing Kafka Streams in SpringBoot Using TopologyTestDriver & JUnit5
In this section, we will code and learn how to write unit tests in our Kafka Streams application that’s build using SpringBoot.
Integration Testing Spring KafkaStreams App using @EmbeddedKafka
In this section, we will code and learn about writing integration tests for the Kafka Streams app using EmbeddedKafka.
-
Introduction & SetUp Integration Test
-
Integration Test for OrdersCount
-
Integration Test for OrdersRevenue
-
Integration Test for OrdersRevenue By Windows
Grace Period in Kafka Streams
In this section I will explain the concept of grace period and how it can be used in kafka streams application.
Build and Package the SpringBoot App as an Executable
In this section, we will package the kafka streams app as an executable and launch the app.
By the end of this course you will have a complete understanding of Kafka Streams API and the different kinds of applications that can be built using Kafka Streams API.
Course Curriculum
Chapter 1: Getting Started With the Course
Lecture 1: Course Introduction
Lecture 2: Pre-requestites
Chapter 2: Course Slides & Source Code
Lecture 1: Course Slides
Lecture 2: Source Code
Chapter 3: Getting Started to Kafka Streams
Lecture 1: Introduction to Kafka Streams
Lecture 2: Kafka Streams Terminologies – Topology & Processor
Lecture 3: Introduction to KStreams API
Chapter 4: Greetings Kafka Streams App using KStreams API
Lecture 1: Overview of the Greetings App
Lecture 2: Setup the Greetings App
Lecture 3: Topology of the Greetings App
Lecture 4: Build the Kafka Streams Launcher Application
Lecture 5: Setting Up Kafka Environment and Test our Greeting App
Chapter 5: Operators in Kafka Streams using KStream API
Lecture 1: Filter & FilterNot
Lecture 2: Map/MapValues
Lecture 3: FlatMapValues/FlatMap
Lecture 4: peek
Lecture 5: merge
Chapter 6: Serialization and Deserialization in Kafka Streams
Lecture 1: How Key/Value serialization and deserialization works in Kafka Streams ?
Lecture 2: Providing Default Serializer/Deserializer using Application Configuration
Lecture 3: Build a Custom Serdes for Enhanced Greeting Messages
Lecture 4: Usage of CustomSerde in the Greeting App
Chapter 7: Reusable Generic Serializer/Deserializer (Recommended Approach)
Lecture 1: Build a Generic Serializer/Deserializer
Lecture 2: Integrate Generic Serializer/Deserializer into the Greeting App
Chapter 8: Order Management Kafka Streams application – A real time use case
Lecture 1: Overview of the Retail App
Lecture 2: Build the Topology for the Orders Management App
Lecture 3: Split the Restaurant/Retail Shopping Orders – Using split and branch operator
Lecture 4: Transform the Order Domain to a Revenue Domain Type
Chapter 9: Topology, Stream and Tasks – Under the Hood
Lecture 1: Internals of Topology, Stream and Tasks
Lecture 2: Explore the behavior of streams by modifying the stream threads
Chapter 10: Error/Exception Handling in Kafka Streams
Lecture 1: Failures in Kafka Streams
Lecture 2: Default Deserialization Error Behavior
Lecture 3: Custom Deserialization Error Handler
Lecture 4: Default & Custom Processor Error Handler
Lecture 5: Custom Production Error Handler
Lecture 6: Error handling when Kafka Cluster is down
Chapter 11: KTable & Global KTable
Lecture 1: Introduction to KTable API
Lecture 2: Build a topology for KTable
Lecture 3: KTable – Under the Hood
Lecture 4: GlobalKTable
Chapter 12: StateFul Operations in Kafka Streams – Aggregate, Join and Windowing Events
Lecture 1: StateFul Operations in Kafka Streams
Lecture 2: What is Aggregation & How it works ?
Lecture 3: Aggregation using "count" operator
Lecture 4: Aggregation using "reduce" operator
Lecture 5: Aggregation using "aggregate" operator
Lecture 6: Using Materialized Store for count & reduce operator
Chapter 13: StateFul Operation Results – How to access them ?
Lecture 1: How to access the results of Aggregation ?
Chapter 14: Aggregation in Order Management Application – A Real Time Use Case
Lecture 1: Total number of orders by each store using "count" operator
Lecture 2: Total Revenue by each store using "aggregate" operator
Chapter 15: Re-Keying Kafka Records for Stateful operations
Lecture 1: Effect of null Key in Stateful Operations & Repartition of Kafka Records
Lecture 2: Re-Keying using the "selectKey" operator
Chapter 16: StateFul Operations in Kafka Streams – Join
Lecture 1: Introduction to Joins & Types of Joins in Kafka Streams
Lecture 2: Explore innerJoin using "join" operator – Joining KStream and KTable
Lecture 3: Explore innerJoin using "join" operator – Joining KStream and GlobalKTable
Lecture 4: Explore innerJoin using "join" operator – Joining KTable and KTable
Lecture 5: Explore innerJoin using "join" operator – Joining KStream and KStream
Lecture 6: Joining Kafka Streams using "leftJoin" operator
Lecture 7: Joining Kafka Streams using "outerJoin" operator
Lecture 8: Join – Under the hood
Lecture 9: CoPartitioning Requirements in Joins
Chapter 17: Join in Order Management Application – A Real Time Use Case
Lecture 1: Join Aggregate Revenue with StoreDetails KTable
Chapter 18: StateFul Operations in Kafka Streams – Windowing
Lecture 1: Introduction to Windowing and time concepts
Lecture 2: Windowing in Kafka Streams – Tumbling Windows
Lecture 3: Control emission of windowed results using "supress" operartor
Lecture 4: Windowing in Kafka Streams – Hopping Windows
Lecture 5: Windowing in Kafka Streams – Sliding Windows
Chapter 19: Widowing in Order Management Application – A Real Time Use Case
Lecture 1: New Requirements for the Order Management Application
Lecture 2: Implementing a CustomTimeStamp Extractor
Lecture 3: Aggregate "Number of Orders" by Windows
Lecture 4: Aggregate Revenue by Windows
Lecture 5: Joins on the Windowed Data
Chapter 20: Behavior of Records with Future & Older Timestamp in Windowing
Lecture 1: Records with timestamps before & after the CurrentTimestamp.
Chapter 21: Build Kafka Streams Application using SpringBoot
Lecture 1: Introduction to SpringBoot and Kafka Streams
Lecture 2: Setup the Project – Greeting Streams app using Spring Kafka Streams
Lecture 3: Configuring the Kafka Stream using application.yml
Lecture 4: Build the Greeting Topology
Lecture 5: Test Greeting App in Local
Chapter 22: SpringBoot AutoConfiguration of Kafka Streams
Instructors
-
Pragmatic Code School
Technology Enthusiast, Online Instructor
Rating Distribution
- 1 stars: 0 votes
- 2 stars: 2 votes
- 3 stars: 15 votes
- 4 stars: 60 votes
- 5 stars: 135 votes
Frequently Asked Questions
How long do I have access to the course materials?
You can view and review the lecture materials indefinitely, like an on-demand channel.
Can I take my courses with me wherever I go?
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don’t have an internet connection, some instructors also let their students download course lectures. That’s up to the instructor though, so make sure you get on their good side!
You may also like
- Top 10 Language Learning Courses to Learn in November 2024
- Top 10 Video Editing Courses to Learn in November 2024
- Top 10 Music Production Courses to Learn in November 2024
- Top 10 Animation Courses to Learn in November 2024
- Top 10 Digital Illustration Courses to Learn in November 2024
- Top 10 Renewable Energy Courses to Learn in November 2024
- Top 10 Sustainable Living Courses to Learn in November 2024
- Top 10 Ethical AI Courses to Learn in November 2024
- Top 10 Cybersecurity Fundamentals Courses to Learn in November 2024
- Top 10 Smart Home Technology Courses to Learn in November 2024
- Top 10 Holistic Health Courses to Learn in November 2024
- Top 10 Nutrition And Diet Planning Courses to Learn in November 2024
- Top 10 Yoga Instruction Courses to Learn in November 2024
- Top 10 Stress Management Courses to Learn in November 2024
- Top 10 Mindfulness Meditation Courses to Learn in November 2024
- Top 10 Life Coaching Courses to Learn in November 2024
- Top 10 Career Development Courses to Learn in November 2024
- Top 10 Relationship Building Courses to Learn in November 2024
- Top 10 Parenting Skills Courses to Learn in November 2024
- Top 10 Home Improvement Courses to Learn in November 2024