Kafka Streams with Spring Cloud Stream

Mastering Real-time Stream Processing Microservices using Kafka Streams and Spring Cloud Streams
Kafka Streams with Spring Cloud Stream
File Size :
3.31 GB
Total length :
7h 31m



Learning Journal


Last update




Kafka Streams with Spring Cloud Stream

What you’ll learn

Designing, Developing and Testing Stream Processing Applications
Spring Cloud Streams and Kafka Streams Architecture
Kafka Streams Binder Implementation for Spring Cloud Streams
Kafka Streams DSL and Programing with Kafka Streams API
Working with JSON, AVRO, and other Custom Serializations
Handling Errors and Exception
Exactly Once Implementation with Kafka Streams
Unit Testing Kafka Streams Application

Kafka Streams with Spring Cloud Stream


Programming knowledge using Spring Boot framework
Apache Kafka fundamental knowledge
A Recent 64-bit Windows/Mac/Linux machine with 4 GB RAM (8 GB recommended)


About the CourseI am creating Kafka Streams with Spring Cloud Streams to help you understand stream processing in general and apply it to Kafka Streams Programming using Spring Boot. My approach to creating this course is a progressive common-sense approach to teaching a complex subject. Using this unique approach, I will help you apply your general ability to perceive, understand, and reason the concepts progressively that I am explaining in this course.Who should take this Course?Kafka Streams with Spring Cloud Streams course is designed for software engineers willing to develop a stream processing application using the Kafka Streams library and Spring Boot. I am also creating this course for data architects and data engineers responsible for designing and building the organization’s data-centric infrastructure. Another group of people is the managers and architects who do not directly work with Kafka implementation, but they work with the people who implement Kafka Streams at the ground level.Kafka Version used in the CourseThis course is using the Kafka Streams library compatible with Spring Cloud 2020. I have tested all the source code and examples used in this course on Confluent Platform 6.0.0 which is compatible with Apache Kafka 2.6 open source distribution. Source Code, Development IDE, Build Tool, Logging, and Testing ToolsThis course is fully example-driven, and I will be creating many examples in the class. The source code files for all the examples are included in your study material. This course will be making extensive use of IntelliJ IDEA as the preferred development IDE. However, based on your prior experience, you should be able to work with any other IDE designed for Spring application development.This course will be using Apache Maven and Gradle as the preferred build tool. However, based on your prior experience, you should be able to use any other build tool designed for Java applications.This course also makes use of Log4J2 to teach you industry-standard log implementation in your application.We will be using JUnit5, which is the latest version of JUnit, for implementing Unit Test Cases.Example and ExercisesWorking examples and exercises are the most critical tool to convert your knowledge into a skill. I have already included a lot of examples in the course. This course also consists of some programming assignments as and when appropriate. These exercises will help you validate and check your concepts and apply your learning to solve programming problems.


Section 1: Before you begin

Lecture 1 About the course

Lecture 2 Course Prerequisite

Lecture 3 Setting Up Your Development Environment

Lecture 4 Source Code and Other Resources

Lecture 5 Creating your starter project

Section 2: Environment setup on Windows Machine

Lecture 6 Installing Confluent Kafka – Windows WSL

Lecture 7 Creating your first Kafka Streams project – Windows

Section 3: Environment Setup on Mac Machine

Lecture 8 Installing Confluent Kafka – Mac

Lecture 9 Creating your first Kafka Streams project – Mac

Section 4: Understanding the technology stack

Lecture 10 Understanding Kafka Support in Spring

Lecture 11 Introduction to Spring Cloud Streams

Lecture 12 Introduction to Kafka Streams

Section 5: Producing Data to Kafka

Lecture 13 Simple RESTful Kafka Producer

Lecture 14 Creating Retail POS Simulator

Lecture 15 Producing JSON Messages

Lecture 16 Producing AVRO Messages

Section 6: Processing Kafka Streams

Lecture 17 Real-time Stream Processing – Requirement

Lecture 18 Processing JSON Message Stream

Lecture 19 Real-life Serialization Scenarios

Lecture 20 Processing AVRO message Stream

Lecture 21 Understanding Record Serialization

Lecture 22 KStream Methods

Section 7: Working with KStream

Lecture 23 Kafka Streams Exactly Once

Lecture 24 Implementing Exactly Once

Lecture 25 Let’s Practice – A Complex Problem Statement

Lecture 26 Working with XML Inputs

Lecture 27 Handling Errors and Exceptions

Lecture 28 Mixed Branching of a KStream

Lecture 29 Handling Poisson Pills

Section 8: KTable and Aggregations

Lecture 30 Introducing KTable

Lecture 31 Deep Dive into KTable

Lecture 32 Computing Streaming Aggregates

Lecture 33 Aggregation Concepts

Lecture 34 Reducing A Kafka Stream

Lecture 35 Aggregating a Kafka Stream

Lecture 36 Aggregation Challenges

Lecture 37 KTable Aggregation

Section 9: Timestamp and Windowing Aggregates

Lecture 38 Kafka Time Semantics

Lecture 39 Windowing Aggregates

Lecture 40 Tumbling Window Vs Hopping Time Window

Lecture 41 Session Windows

Section 10: Joins in Kafka Streams

Lecture 42 Joins in Kafka Stream

Lecture 43 KStream to KStream Joins

Lecture 44 KTable to KTable Join

Lecture 45 KStream to KTable Join

Lecture 46 Implementing Complex Aggregation

Section 11: Kafka Streams in Functional Style and Unit Testing

Lecture 47 Stream Listener Manual Testing

Lecture 48 Stream Listeners Automating Test Cases

Lecture 49 Functional Style of Converting Stream Listeners

Section 12: Keep Learning

Lecture 50 Final Word

Lecture 51 Bonus Lecture : Get Extra

Software Engineers and Architects who are willing to design and develop a Stream Processing Application using Kafka Streams Library.,Spring Boot Programmers aspiring to learn everything necessary to start implementing real-time streaming applications using Apache Kafka

Course Information:

Udemy | English | 7h 31m | 3.31 GB
Created by: Learning Journal

You Can See More Courses in the Developer >> Greetings from CourseDown.com

New Courses

Scroll to Top