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