Reactive Kafka From Scratch
Published 3/2023
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 5.38 GB | Duration: 11h 39m
Published 3/2023
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 5.38 GB | Duration: 11h 39m
Getting Started With Event Driven Microservices
What you'll learn
Learn Kafka From Scratch
Spring Kafka - Event Driven Microservices
Batch & Parallel Processing
Kafka Transaction
Writing Integration Tests
Best Practices
Requirements
Java Reactive Programming
Spring
Comfortable with Indian Accent
Description
** Reactive Spring Kafka - Getting Started With Event Driven Microservices **This course is particularly for any senior or staff level engineer who wants to learn Reactive Kafka From Scratch. By the end of the course, you will become very comfortable with Kafka.Here is what we will do in this course:KafkaSetting up Kafka - latest KRaft mode using custom docker image Bootstrap ServerVarious Kafka Topic commands and OptionsConsole ProducerConsole consumerVarious Kafka propertiesHow apps publish and consume messagesHow serialization and Deserialization works in KafkaHow Kafka Log Retention worksOffset and How to reset Offset to consume messages from specific timeMessage FormatHow to scale Applications using Kafka Consumer GroupMessage OrderingKafka With Reactive ProgrammingCreating a simple Java Kafka producer and consumer applications using reactive programmingVarious producer and consumer configurationAuto offset resetHow to acknowledge the messagesEmitting millions events to check the performanceSeeking offsetPartition assignment strategyCooperative sticky assignorRange assignorKafka ClusterHow cluster worksSetting up Kafka cluster using docker composeKafka cluster - Fault tolerance demo. How producer and consumer applications work without any issues when Kafka brokers go up and down.Best PracticesWhat is producer acknowledge and why we should do that?Min in sync replicasCreating idempotent producerCreating idempotent consumer to take care of duplicate messagesCompression - to reduce the size of messages and improve the throughputDiscussing Common QuestionsHow many topics should I create?How many partitions should I create?How many replicas should I have?Batch / Parallel ProcessingConsuming messages in parallel and proper order to make use of all the CPUs.Error HandlingRetryDead Letter TopicPoison Pill MessagesKafka TransactionHow to produce and consume messages in transactional mode (like Database Transaction)Integration TestsDeveloping integration tests using Embedded Kafka Kafka SecurityPlain CredentialsSSLAssignmentLets test our learning by developing a couple of Microservices communicating via Kafka Topic to analyze the user behaviors and provide metrics to Business team on Product Trending.
Overview
Section 1: Introduction
Lecture 1 Introduction
Lecture 2 Need For Event Driven Architecture / Kafka
Lecture 3 Resource Download
Section 2: Kafka Setup
Lecture 4 Introduction
Lecture 5 Custom Docker Image
Lecture 6 Docker Compose Setup
Section 3: Kafka Crash Course
Lecture 7 Introduction
Lecture 8 Cluster
Lecture 9 Bootstrap Server
Lecture 10 Topic Command
Lecture 11 Exploring Data Directory
Lecture 12 Documenting Commands
Lecture 13 Console Producer
Lecture 14 Console Consumer
Lecture 15 Producer & Consumer Side By Side
Lecture 16 [Properties] linger.ms vs batch.size
Lecture 17 Consumer Push vs Pull
Lecture 18 Serialization vs Deserialization
Lecture 19 [Properties] Log Retention
Lecture 20 Offset
Lecture 21 Message Timestamp
Lecture 22 2 Consumers Demo
Lecture 23 Consumer Group
Lecture 24 Consumer Group - Demo
Lecture 25 Need For Message Ordering
Lecture 26 Partition & Key
Lecture 27 Who is calculating the Partition?
Lecture 28 Topic With 2 Partitions
Lecture 29 Consumer Group Demo with Partitions - Part 1
Lecture 30 Consumer Group Demo with Partitions - Part 2
Lecture 31 Consumer Group Scaling - Scenarios
Lecture 32 Consumer Group - LAG
Lecture 33 Multiple Consumer Group - LAG
Lecture 34 Resetting Offset
Lecture 35 Resetting Offset - Demo
Lecture 36 Message Format
Lecture 37 Summary
Section 4: Reactor Kafka
Lecture 38 Maven Dependencies
Lecture 39 Project Setup
Lecture 40 Consumer Config
Lecture 41 Creating Kafka Receiver
Lecture 42 Kafka Receiver Demo
Lecture 43 Auto Offset Reset
Lecture 44 Session Timeout Config
Lecture 45 Acknowledging Message
Lecture 46 Enabling Auto Commit
Lecture 47 Will Messages Be Redelivered?
Lecture 48 Out Of Order Commit
Lecture 49 Consume From Multiple Topics
Lecture 50 Kafka Producer Config
Lecture 51 Creating Sender Record
Lecture 52 Kafka Producer Demo
Lecture 53 Sender Close
Lecture 54 Receiver Close
Lecture 55 Emitting 1 Million Events
Lecture 56 Max In Flight
Lecture 57 Message Headers
Lecture 58 Consumer Group Demo - Part 1
Lecture 59 Consumer Group Demo - Part 2
Lecture 60 Cooperative Sticky Assignor
Lecture 61 Range Assignor
Lecture 62 Seeking Offset
Lecture 63 Summary
Section 5: Kafka Cluster
Lecture 64 Introduction
Lecture 65 Quick Note On Listeners
Lecture 66 Cluster Properties
Lecture 67 Cluster Demo
Lecture 68 Kafka Fault Tolerance Demo
Lecture 69 Summary
Section 6: Best Practices
Lecture 70 Producer acks
Lecture 71 min.insync.replica
Lecture 72 Idempotent Producer
Lecture 73 Producing Duplicate Messages
Lecture 74 Idempotent Consumer
Lecture 75 Compression
Lecture 76 How Many Topics Should I Create?
Lecture 77 How Many Partitions Should I Create?
Lecture 78 How Many Replication Factor Should I Have?
Lecture 79 Summary
Section 7: Batch / Parallel Processing
Lecture 80 Introduction
Lecture 81 Batch - Receiver Auto Ack / concatMap
Lecture 82 Parallel - flatMap
Lecture 83 Schedulers with FlatMap
Lecture 84 Message Ordering Issue With FlatMap
Lecture 85 GroupedFlux - Parallel and Message Ordering - Part 1
Lecture 86 GroupedFlux - Parallel and Message Ordering - Part 2
Lecture 87 Summary
Section 8: Error Handling
Lecture 88 Introduction
Lecture 89 Simple Retry
Lecture 90 Separating Receiver & Processor - Theory
Lecture 91 Separating Receiver & Processor - Implementation - Part 1
Lecture 92 Separating Receiver & Processor - Implementation - Part 2
Lecture 93 Separating Receiver & Processor - Implementation - Part 3
Lecture 94 Retry Depending On Error
Lecture 95 Dead Letter Topic - Introduction
Lecture 96 Reactive Dead Letter Topic Producer - Part 1
Lecture 97 Reactive Dead Letter Topic Producer - Part 2
Lecture 98 Order Event Processor
Lecture 99 Code Cleanup
Lecture 100 Dead Letter Topic Demo
Lecture 101 Poison Pill Messages
Lecture 102 Poison Pill Messages - Fix
Lecture 103 Error Handling At Producer Side
Lecture 104 Summary
Section 9: Kafka Transaction
Lecture 105 Introduction
Lecture 106 Demo App Walkthrough
Lecture 107 Transfer Event Consumer
Lecture 108 Transfer Event Processor - Part 1
Lecture 109 Transfer Event Processor - Part 2
Lecture 110 Transfer Config
Lecture 111 Adding Delay
Lecture 112 Kafka Commands
Lecture 113 Kafka Transaction Demo
Lecture 114 How Kafka Transaction Works
Lecture 115 read_committed vs read_uncommitted
Lecture 116 Send Transactionally
Lecture 117 Producer Fenced Exception
Lecture 118 Delivery Semantics
Section 10: Reactive Kafka With Spring
Lecture 119 Introduction
Lecture 120 Simple Spring Kafka Consumer
Lecture 121 Order Event DTO
Lecture 122 Spring Kafka Producer Config
Lecture 123 Order Event Decoding Issue
Lecture 124 Importance Of Type ID
Lecture 125 Order Event Demo
Lecture 126 Printing Type ID Header
Lecture 127 Decoding As Custom Object
Lecture 128 Summary
Section 11: Integration Testing
Lecture 129 Introduction
Lecture 130 Embedded Kafka Test
Lecture 131 Embedded Kafka Demo
Lecture 132 Embedded Kafka Random Port
Lecture 133 Project Restructure
Lecture 134 Abstract Integration Test - Utilities - Part 1
Lecture 135 Abstract Integration Test - Utilities - Part 2
Lecture 136 OrderEventProducer - Test
Lecture 137 OrderEventProducer - Demo
Lecture 138 @DirtiesContext
Lecture 139 Creating Sender Util
Lecture 140 OrderEventConsumer - Demo
Section 12: *** ASSIGNMENT ***
Lecture 141 Introduction
Lecture 142 R2DBC - Persistable Interface
Lecture 143 ** ASSIGNMENT **
Lecture 144 [ASSIGNMENT SOLUTION] - Product Service Setup
Lecture 145 [ASSIGNMENT SOLUTION] - Product Service - Implementation - Part 1
Lecture 146 [ASSIGNMENT SOLUTION] - Product Service - Implementation - Part 2
Lecture 147 [ASSIGNMENT SOLUTION] - Product Service - Integration Test - Part 1
Lecture 148 [ASSIGNMENT SOLUTION] - Product Service - Integration Test - Part 2
Lecture 149 [ASSIGNMENT SOLUTION] - Analytics Service - Setup
Lecture 150 [ASSIGNMENT SOLUTION] - Analytics Service - Implementation - Part 1
Lecture 151 [ASSIGNMENT SOLUTION] - Analytics Service - Implementation - Part 2
Lecture 152 [ASSIGNMENT SOLUTION] - Analytics Service - Implementation - Part 3
Lecture 153 [ASSIGNMENT SOLUTION] - Analytics Service - Integration Test - Part 1
Lecture 154 [ASSIGNMENT SOLUTION] - Analytics Service - Integration Test - Part 2
Lecture 155 Final Demo
Lecture 156 Final Demo With Companion Flux
Section 13: Kafka Security
Lecture 157 Introduction
Lecture 158 App With Kafka Credentials
Lecture 159 SSL Introduction
Lecture 160 Kafka SSL
Lecture 161 Kafka SSL Demo
Section 14: Thank you
Lecture 162 What's Next
Any senior / staff level engineer