آموزش جامع Kafka Streams API برای توسعه‌دهندگان Java و Spring Boot 3.X - آخرین آپدیت

دانلود Kafka Streams API for Developers Using Java/Spring Boot 3.X

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: به‌روزرسانی شده در می ۲۰۲۵. این دوره اکنون دارای قابلیت Coursera Coach است! روشی هوشمندتر برای یادگیری با گفتگوهای تعاملی و بلادرنگ که به شما کمک می‌کند دانش خود را آزمایش کنید، فرضیات را به چالش بکشید و در حین پیشروی در دوره، درک خود را عمیق‌تر کنید. این دوره با دقت طراحی شده است تا شما را با پیچیدگی‌های Kafka Streams API با استفاده از Java و Spring Boot 3.x آشنا کند. شما با آشنایی با مفاهیم اصلی Kafka Streams شروع می‌کنید، یاد می‌گیرید که چگونه برنامه‌های پایه پردازش جریان (Stream Processing) را بسازید و سریعاً به سراغ مثال‌های کاربردی می‌روید. ساختار دوره تضمین می‌کند که شما نه تنها جنبه‌های تئوری را درک کنید، بلکه از طریق توسعه برنامه‌های واقعی مانند «سیستم مدیریت سفارشات»، تجربه عملی کسب کنید. با پیشروی در دوره، به موضوعات پیشرفته‌تری از جمله سریالیزاسیون/دیسریالیزاسیون (Serialization/Deserialization)، عملیات Stateful مانند تجمیع (Aggregation)، Joinها و Windowing خواهید پرداخت. شما یاد می‌گیرید که چگونه ذخیره‌سازهای وضعیت (State Stores) را به صورت تعاملی مدیریت و کوئری کنید، خطاها را به طور بهینه مدیریت کنید و برنامه‌های Kafka Streams خود را با استفاده از TopologyTestDriver و JUnit5 تست کنید. این دوره بر روی بهترین روش‌ها (Best Practices) و رویکردهای توصیه شده تأکید دارد تا اطمینان حاصل شود که برنامه‌های شما مقیاس‌پذیر و قابل نگهداری هستند. در پایان این دوره، درک عمیقی از Kafka Streams API خواهید داشت، در استفاده از Spring Boot برای ساخت و اجرای برنامه‌های Kafka Streams مهارت می‌یابید و برای مقابله با چالش‌های پیچیده پردازش داده‌های بلادرنگ در پروژه‌های خود کاملاً آماده خواهید بود. چه در حال ساخت میکروسرویس‌ها باشید و چه مدیریت خط لوله‌های داده‌های بزرگ (Big Data Pipelines)، این دوره تخصص شما را در سیستم‌های توزیع شده ارتقاء می‌دهد. این دوره برای توسعه‌دهندگان جاوا با دانش متوسط در Spring Boot طراحی شده است. داشتن درک اولیه از Kafka و سیستم‌های توزیع شده مفید است اما اجباری نیست.

سرفصل ها و درس ها

شروع به کار با دوره Getting Started with the Course

  • معرفی دوره Course Introduction

  • پیش‌نیازها Prerequisites

آشنایی با Kafka Streams Getting Started with Kafka Streams

  • مقدمه‌ای بر Kafka Streams Introduction to Kafka Streams

  • اصطلاحات Kafka Streams - توپولوژی و پردازشگر Kafka Streams Terminologies - Topology and Processor

  • معرفی KStreams API Introduction to KStreams API

ساخت برنامه سلام با استفاده از KStreams API Greetings Kafka Streams App Using KStreams API

  • بررسی کلی برنامه Greetings Overview of the Greetings App

  • راه‌اندازی برنامه Greetings Set Up the Greetings App

  • توپولوژی برنامه Greetings Topology of the Greetings App

  • ساخت برنامه Launcher برای Kafka Streams Build the Kafka Streams Launcher Application

  • راه‌اندازی محیط کافکا و تست برنامه Greetings Setting Up Kafka Environment and Testing Our Greeting App

عملگرها در Kafka Streams با استفاده از KStreams API Operators in Kafka Streams Using KStreams API

  • عملگرهای Filter و FilterNot Filter and FilterNot

  • عملگرهای Map و MapValues Map/MapValues

  • عملگرهای FlatMapValues و FlatMap FlatMapValues/FlatMap

  • عملگر peek peek

  • عملگر merge merge

سریالیزاسیون و دیسریالیزاسیون در Kafka Streams Serialization and Deserialization in Kafka Streams

  • نحوه عملکرد سریالیزاسیون/دیسریالیزاسیون کلید/مقدار How Key/Value Serialization and Deserialization Works in Kafka Streams

  • ارائه سریالایزر/دیسریالایزر پیش‌فرض از طریق پیکربندی برنامه Providing Default Serializer/Deserializer Using Application Configuration

  • ساخت Serdes سفارشی برای پیام‌های پیشرفته Greeting Build Custom Serdes for Enhanced Greeting Messages

  • استفاده از Serde سفارشی در برنامه Greetings Usage of Custom Serde in the Greeting App

سریالایزر/دیسریالایزر جنریک و قابل استفاده مجدد (روش توصیه شده) Reusable Generic Serializer/Deserializer (Recommended Approach)

  • ساخت یک سریالایزر/دیسریالایزر جنریک Build a Generic Serializer/Deserializer

  • یکپارچه‌سازی سریالایزر/دیسریالایزر جنریک در برنامه Greetings Integrate Generic Serializer/Deserializer into the Greeting App

برنامه مدیریت سفارشات با Kafka Streams - یک مورد کاربردی بلادرنگ Order Management Kafka Streams Application - A Real-Time Use Case

  • بررسی کلی برنامه خرده‌فروشی (Retail App) Overview of the Retail App

  • ساخت توپولوژی برای برنامه مدیریت سفارشات Build the Topology for the Orders Management App

  • تفکیک سفارشات رستوران و خرید خرده‌فروشی با Split و Branch Split the Restaurant/Retail Shopping Orders - Using Split and Branch Operator

  • تبدیل دامنه سفارش به نوع دامنه درآمد (Revenue) Transform the Order Domain to a Revenue Domain Type

توپولوژی، استریم و تسک‌ها - بررسی زیرساختی Topology, Stream, and Tasks - Under the Hood

  • بررسی داخلی توپولوژی، استریم و تسک‌ها Internals of Topology, Stream, and Tasks

  • بررسی رفتار استریم‌ها با تغییر تعداد تردها (Threads) Explore the Behavior of Streams by Modifying the Stream Threads

مدیریت خطاها و استثناها در Kafka Streams Error/Exception Handling in Kafka Streams

  • بررسی شکست‌ها (Failures) در Kafka Streams Failures in Kafka Streams

  • رفتار پیش‌فرض در خطاهای دیسریالیزاسیون Default Deserialization Error Behavior

  • ساخت مدیریت خطای سفارشی برای دیسریالیزاسیون Custom Deserialization Error Handler

  • مدیریت خطای پیش‌فرض و سفارشی برای پردازشگر Default and Custom Processor Error Handler

  • مدیریت خطای سفارشی برای تولید داده (Production) Custom Production Error Handler

  • مدیریت خطا در زمان قطع بودن کلاستر کافکا Error Handling When Kafka Cluster Is Down

مفهوم KTable و Global KTable KTable and Global KTable

  • مقدمه‌ای بر KTable API Introduction to KTable API

  • ساخت توپولوژی برای KTable Build a Topology for KTable

  • بررسی زیرساخت KTable KTable - Under the Hood

  • مفهوم GlobalKTable GlobalKTable

عملیات Stateful در Kafka Streams - تجمیع، Join و Windowing StateFul Operations in Kafka Streams - Aggregate, Join, and Windowing Events

  • عملیات Stateful در Kafka Streams StateFul Operations in Kafka Streams

  • تجمیع (Aggregation) چیست و چگونه کار می‌کند؟ What Is Aggregation and How It Works?

  • تجمیع با استفاده از عملگر count Aggregation Using "count" Operator

  • تجمیع با استفاده از عملگر reduce Aggregation Using "reduce" Operator

  • تجمیع با استفاده از عملگر aggregate Aggregation Using "aggregate" Operator

  • استفاده از Materialized Store برای عملگرهای count و reduce Using Materialized Store for count and reduce Operators

نتایج عملیات Stateful - چگونه به آن‌ها دسترسی پیدا کنیم؟ StateFul Operation Results - How to Access Them?

  • نحوه دسترسی به نتایج تجمیع How to Access the Results of Aggregation

تجمیع در برنامه مدیریت سفارشات - یک مورد کاربردی بلادرنگ Aggregation in Order Management Application - A Real-Time Use Case

  • تعداد کل سفارشات هر فروشگاه با عملگر count Total Number of Orders by Each Store Using "count" Operator

  • کل درآمد هر فروشگاه با عملگر aggregate Total Revenue by Each Store Using "aggregate" Operator

تغییر کلید (Rekeying) رکوردهای کافکا برای عملیات Stateful Rekeying Kafka Records for Stateful Operations

  • تأثیر کلید null در عملیات Stateful و بازتوزیع (Repartition) رکوردها Effect of null Key in Stateful Operations and Repartition of Kafka Records

  • تغییر کلید با استفاده از عملگر selectKey Rekeying Using the "selectKey" Operator

عملیات Stateful در Kafka Streams - Join StateFul Operations in Kafka Streams - Join

  • مقدمه‌ای بر Joinها و انواع آن‌ها در Kafka Streams Introduction to Joins and Types of Joins in Kafka Streams

  • بررسی innerJoin با عملگر join - اتصال KStream و KTable Explore innerJoin Using "join" Operator - Joining KStream and KTable

  • بررسی innerJoin با عملگر join - اتصال KStream و GlobalKTable Explore innerJoin Using "join" Operator - Joining KStream and GlobalKTable

  • بررسی innerJoin با عملگر join - اتصال KTable و KTable Explore innerJoin Using "join" Operator - Joining KTable and KTable

  • بررسی innerJoin با عملگر join - اتصال KStream و KStream Explore innerJoin Using "join" Operator - Joining KStream and KStream

  • اتصال استریم‌ها با استفاده از عملگر leftJoin Joining Kafka Streams Using "leftJoin" Operator

  • اتصال استریم‌ها با استفاده از عملگر outerJoin Joining Kafka Streams Using "outerJoin" Operator

  • بررسی زیرساخت Join Join - Under the Hood

  • الزامات Co-Partitioning در Joinها Co-Partitioning Requirements in Joins

پیاده‌سازی Join در برنامه مدیریت سفارشات - یک مورد کاربردی بلادرنگ Join in Order Management Application - A Real-Time Use Case

  • اتصال درآمد تجمیعی با KTable جزئیات فروشگاه (StoreDetails) Join Aggregate Revenue with StoreDetails KTable

عملیات Stateful در Kafka Streams - Windowing StateFul Operations in Kafka Streams - Windowing

  • مقدمه‌ای بر Windowing و مفاهیم زمان Introduction to Windowing and Time Concepts

  • ویندوینگ در کافکا استریمز - Tumbling Windows Windowing in Kafka Streams - Tumbling Windows

  • کنترل انتشار نتایج ویندویی با عملگر suppress Control Emission of Windowed Results Using "suppress" Operator

  • ویندوینگ در کافکا استریمز - Hopping Windows Windowing in Kafka Streams - Hopping Windows

  • ویندوینگ در کافکا استریمز - Sliding Windows Windowing in Kafka Streams - Sliding Windows

پیاده‌سازی Windowing در برنامه مدیریت سفارشات - یک مورد کاربردی بلادرنگ Widowing in Order Management Application - A Real-Time Use Case

  • نیازمندی‌های جدید برای برنامه مدیریت سفارشات New Requirements for the Order Management Application

  • پیاده‌سازی استخراج‌کننده Timestamp سفارشی Implementing a CustomTimeStamp Extractor

  • تجمیع تعداد سفارشات بر اساس پنجره‌های زمانی (Windows) Aggregate "Number of Orders" by Windows

  • تجمیع درآمد بر اساس پنجره‌های زمانی Aggregate Revenue by Windows

  • اجرای Join روی داده‌های ویندویی Joins on the Windowed Data

رفتار رکوردها با برچسب زمانی آینده و گذشته در Windowing Behavior of Records with Future and Older Timestamp in Windowing

  • رکوردهایی با Timestamp قبل و بعد از زمان فعلی در Windowing Records with Timestamps before and after the CurrentTimestamp

ساخت برنامه Kafka Streams با استفاده از Spring Boot Build Kafka Streams Application Using Spring Boot

  • مقدمه‌ای بر Spring Boot و Kafka Streams Introduction to Spring Boot and Kafka Streams

  • راه‌اندازی پروژه - برنامه Greeting Streams با Spring Kafka Streams Set Up the Project - Greeting Streams App Using Spring Kafka Streams

  • پیکربندی Kafka Stream از طریق application.yml Configuring the Kafka Stream Using application.yml

  • ساخت توپولوژی Greeting Build the Greeting Topology

  • تست برنامه Greeting در محیط محلی Test Greeting App in Local

پیکربندی خودکار (Autoconfiguration) کافکا استریمز در Spring Boot Spring Boot Autoconfiguration of Kafka Streams

  • بررسی داخلی Autoconfiguring کافکا استریمز در Spring Boot Internals of Autoconfiguring Kafka Streams in Spring Boot

سریالیزاسیون/دیسریالیزاسیون JSON در Spring Kafka Streams JSON Serialization/Deserialization in Spring Kafka Streams

  • سریالیزاسیون/دیسریالیزاسیون JSON با استفاده از JsonSerde JSON Serialization/Deserialization Using JsonSerde

  • استفاده از JsonSerde با ObjectMapper سفارشی JsonSerde Using Custom ObjectMapper

مدیریت خطا در Spring Kafka Streams Error Handling in Spring Kafka Streams

  • مدیریت خطای دیسریالیزاسیون - روش اول Handle Deserialization Error - Approach 1

  • مدیریت خطای دیسریالیزاسیون با Error Handler سفارشی - روش دوم Handle Deserialization Error Using Custom Error Handler - Approach 2

  • مدیریت خطای دیسریالیزاسیون با رویکرد اختصاصی Spring - روش سوم Handle Deserialization Errors Using Spring Specific Approach- Approach 3

  • مدیریت استثناهای Catch نشدن در توپولوژی Handle Uncaught Exceptions in the Topology

  • مدیریت خطاهای تولید داده (Production) Handle Production Errors

ساخت برنامه مدیریت سفارشات با Spring Boot Build Orders Kafka Streams Application Using Spring Boot

  • راه‌اندازی پروژه پایه برای برنامه Orders Kafka Streams Set Up the Base Project for Orders Kafka Streams App

  • ساخت OrdersTopology Create the OrdersTopology

کوئری‌های تعاملی - کوئری گرفتن از State Storeها با RESTful API Interactive Queries - Querying State Stores Using RESTFUL APIs

  • ساخت End-point برای دریافت تعداد سفارشات بر اساس نوع سفارش - بخش اول Build a GET Endpoint to Retrieve the OrderCount by OrderType - Part 1

  • ساخت End-point برای دریافت تعداد سفارشات بر اساس نوع سفارش - بخش دوم Build a GET Endpoint to Retrieve the OrderCount by OrderType - Part 2

  • دریافت تعداد سفارشات بر اساس نوع سفارش و شناسه مکان (LocationId) Retrieve OrderCount by OrderType and LocationId

  • ساخت End-point برای دریافت تعداد سفارشات برای تمامی انواع سفارشات Build a GET Endpoint to Retrieve the OrderCount for All OrderTypes

  • ساخت End-point برای دریافت درآمد بر اساس نوع سفارش Build a GET Endpoint to Retrieve the Revenue by OrderType

  • مدیریت خطای سراسری برای ارسال پیام‌های خطای کاربرپسند Global Error Handling for Useful Client Error Messages

کوئری‌های تعاملی - کوئری گرفتن از Window State Storeها با RESTful API Interactive Queries - Querying Window State Stores Using RESTFUL APIs

  • ساخت End-point برای دریافت تعداد سفارشات بر اساس نوع سفارش Build a GET Endpoint to Retrieve OrderCount by OrderType

  • ساخت End-point برای دریافت تعداد سفارشات ویندویی برای تمام انواع سفارشات Build a GET Endpoint to Retrieve the Windowed OrderCount for All OrderTypes

  • ساخت End-point برای دریافت تعداد سفارشات ویندویی در یک بازه زمانی Build a GET Endpoint to Retrieve the Windowed OrderCount within a Time Range

  • ساخت End-point برای دریافت درآمد بر اساس نوع سفارش Build a GET Endpoint to Retrieve the Revenue by OrderType

تست Kafka Streams با استفاده از TopologyTestDriver و JUnit5 Testing Kafka Streams Using TopologyTestDriver and JUnit5

  • تست Kafka Streams با استفاده از TopologyTestDriver Testing Kafka Streams Using TopologyTestDriver

  • تست واحد برنامه Greetings - نوشتن داده در Topic خروجی Unit Testing Greetings App - Writing Data to a Output Topic

  • تست واحد برنامه Greetings - تست چندین پیام Unit Testing Greetings App - Testing Multiple Messages

  • تست واحد برنامه Greetings - سناریوی خطا Unit Testing Greetings App - Error Scenario

  • تست واحد OrdersCount - نوشتن داده در State Store Unit Testing OrdersCount - Writing Data to a State Store

  • تست واحد OrdersRevenue - نوشتن داده در State Store Unit Testing OrdersRevenue - Writing Data to a State Store

  • تست واحد OrdersRevenue ویندویی - نوشتن داده در State Store Unit Testing OrdersRevenue by Windows - Writing Data to a State Store

  • محدودیت‌های TopologyTestDriver Limitations of TopologyTestDriver

تست Kafka Streams در Spring Boot با TopologyTestDriver و JUnit5 Testing Kafka Streams in Spring Boot Using TopologyTestDriver and JUnit5

  • تست واحد با TopologyTestDriver در Spring Boot Unit Test Using TopologyTestDriver in Spring Boot

تست یکپارچگی (Integration Testing) برنامه Spring KafkaStreams با @EmbeddedKafka Integration Testing Spring KafkaStreams App Using @EmbeddedKafka

  • معرفی و راه‌اندازی تست یکپارچگی (Integration Test) Introduction and Set Up Integration Test

  • تست یکپارچگی برای OrdersCount Integration Test for OrdersCount

  • تست یکپارچگی برای OrdersRevenue Integration Test for OrdersRevenue

  • تست یکپارچگی برای OrdersRevenue ویندویی Integration Test for OrdersRevenue By Windows

مفهوم Grace Period در Kafka Streams Grace Period in Kafka Streams

  • مفهوم Grace Period در ویندوینگ Grace Period in Windowing

بیلد و بسته‌بندی برنامه Spring Boot به صورت Executable Build and Package the Spring Boot App as an Executable

  • بسته‌بندی برنامه Spring Boot و اجرای آن به صورت فایل Jar Package the Spring Boot App and Execute It as a Jar File

پردازش دقیقاً یک‌بار (Exactly Once Processing) در Kafka Streams Exactly Once Processing/Semantics in Kafka Streams

  • پردازش Exactly Once چیست و چرا به آن نیاز داریم؟ What Is Exactly Once Processing and Why Is It Needed?

  • راه‌اندازی Exactly Once Processing در Kafka Streams Set Up Exactly Once Processing in Kafka Streams

  • تراکنش‌ها و Idempotent Producer - بررسی زیرساختی Transactions and Idempotent Producer - Under the Hood

  • محدودیت‌ها و اثرات عملکردی تراکنش‌های کافکا Limitations and Performance Impacts of Kafka Transactions

اجرای برنامه‌های Kafka Streams به صورت چندین نمونه (Spring Boot) Running Kafka Streams Applications as Multiple Instances (Spring Boot)

  • اجرای برنامه‌های Kafka Streams به صورت چندین نمونه Running Kafka Streams Applications as Multiple Instances

  • راه‌اندازی برای اجرای Kafka Streams به صورت چندین نمونه Set Up to Run the Kafka Streams as Multiple Instances

  • متادیتای Kafka Streams Kafka Streams Metadata

  • تجمیع داده‌ها از چندین نمونه - بررسی کلی Aggregate Data from Multiple Instances - Overview

  • تجمیع داده‌ها از چندین نمونه - دریافت متاداتا - بخش اول Aggregate Data from Multiple Instances - Fetching Metadata - Part 1

  • تجمیع داده‌ها از چندین نمونه - ساخت RestClients - بخش دوم Aggregate Data from Multiple Instances - Building RestClients - Part 2

  • تجمیع داده‌ها از چندین نمونه - تست End-to-End - بخش سوم Aggregate Data from Multiple Instances - Testing End to End - Part 3

  • کوئری‌های مبتنی بر کلید با چندین نمونه - بررسی کلی Key-Based Queries with Multiple Instances - Overview

  • کوئری‌های مبتنی بر کلید با چندین نمونه - دریافت متاداتا - بخش اول Key-Based Queries Multiple Instances - Fetching Metadata- Part 1

  • کوئری‌های مبتنی بر کلید با چندین نمونه - ساخت RestClient و تست - بخش دوم Key-Based Queries Multiple Instances - Building RestClient and Testing- Part 2

  • رفاکتور کد برای End-point تعداد سفارشات /v1/orders/count Refactor the Code for OrderCount for All OrderTypes Endpoint - /v1/orders/count

  • اصلاح Test Caseها Fix the Test Cases

  • وضعیت سایر End-pointها چگونه است؟ What about the Other Endpoints?

نمایش نظرات

آموزش جامع Kafka Streams API برای توسعه‌دهندگان Java و Spring Boot 3.X
جزییات دوره
17h 24m
126
(آخرین آپدیت)
839
- از 5
دارد
دارد
دارد
Chris Croft
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Chris Croft Chris Croft

مربی مدیریت، سخنران، نویسنده