Kafka Streams With Spring Cloud Streams

Mastering Real-time Stream Processing Microservices using Kafka Streams and Spring Cloud Streams

Last updated 2022-01-10 | 4.6

- Designing
- Developing and Testing Stream Processing Applications
- Spring Cloud Streams and Kafka Streams Architecture
- Kafka Streams Binder Implementation for Spring Cloud Streams

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

* Requirements

* 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)

Description

About the Course

I 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 Course

This 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 Tools

This 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 Exercises

Working 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.

Who this course is for:

  • 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 content

12 sections • 51 lectures

About the course Preview 02:32

Course Prerequisite Preview 01:57

Setting Up Your Environment Preview 03:22

Source Code and Other Resources Preview 00:11

Creating your starter project Preview 07:48

Installing Confluent Kafka - Windows WSL Preview 10:42

Creating your first Kafka Streams project - Windows Preview 15:14

Installing Confluent Kafka - Mac Preview 05:45

Creating your first Kafka Streams project - Mac Preview 14:40

Understanding Kafka Support in Spring Preview 06:45

Introduction to Spring Cloud Streams Preview 09:36

Introduction to Kafka Streams Preview 04:33

Simple RESTful Kafka Producer Preview 13:18

Creating Retail POS Simulator Preview 03:56

Producing JSON Messages Preview 19:08

Producing AVRO Messages Preview 15:26

Real-time Stream Processing - Requirement Preview 05:44

Processing JSON Message Stream Preview 20:11

Real-life Serialization Scenarios Preview 04:34

Processing AVRO message Stream Preview 13:07

Understanding Record Serialization Preview 09:52

KStream Methods Preview 10:50

Kafka Streams Exactly Once Preview 10:10

Implementing Exactly Once Preview 12:21

Let's Practice - A Complex Problem Statement Preview 03:54

Working with XML Inputs Preview 06:20

Handling Errors and Exceptions Preview 04:52

Mixed Branching of a KStream Preview 09:11

Handling Poisson Pills Preview 04:06

Introducing KTable Preview 04:01

Deep Dive into KTable Preview 12:24

Computing Streaming Aggregates Preview 10:19

Aggregation Concepts Preview 18:35

Reducing A Kafka Stream Preview 18:33

Aggregating a Kafka Stream Preview 11:32

Aggregation Challenges Preview 04:28

KTable Aggregation Preview 13:14

Kafka Time Semantics Preview 05:28

Windowing Aggregates Preview 08:41

Tumbling Window Vs Hopping Time Window Preview 04:53

Session Windows Preview 08:34

Joins in Kafka Stream Preview 04:38

KStream to KStream Joins Preview 11:31

KTable to KTable Join Preview 04:18

KStream to KTable Join Preview 10:52

Implementing Complex Aggregation Preview 17:42

Stream Listener Manual Testing Preview 07:01

Stream Listeners Automating Test Cases Preview 11:59

Functional Style of Converting Stream Listeners Preview 10:26