دورهی پردازش دادهی جریانی با Kafka
Apache Kafka for Data Engineers
یادگیری عملی Apache Kafka برای جریان رویدادها روی سیستم محلی: نصب، تولید و مصرف پیامهای واقعی و پیشروی تا Schema Registry، Kafka Connect و پردازش جریانی. این دوره برای تیمهای سازمانی، بهصورت حضوری یا آنلاین و به زبان فارسی برگزار میشود.
- سطح
- مقدماتی تا پیشرفته
- مدت دوره
- ۴ روز (۳۲ ساعت)
- درس در ۱۲ بخش
- ۵۶
- شیوهی برگزاری
- حضوری یا آنلاین
آنچه شرکتکنندگان میآموزند
- نصب و اجرای یک خوشهی واقعی Apache Kafka 4.0 با سه Broker در حالت KRaft
- تولید و مصرف رویدادهای واقعی با گروههای مصرفکننده و تحویل قابلاعتماد
- اعمال قرارداد داده با Schema Registry و انتقال داده با Kafka Connect
- پردازش بلادرنگ جریانها با Faust و Spark Structured Streaming
کار عملی: یک خوشهی واقعی Kafka با سه Broker برای جریان رویدادهای سفر شرکت CityFlow
سرفصل دوره
۱۲ بخش و ۵۶ درس، در ۴ روز آموزشی (۳۲ ساعت، هر روز ۸ ساعت). سرفصل، مدت و تمرینها متناسب با سطح و نیاز تیم شما تنظیم میشود.
- ۱
چرا Kafka؟ جریان رویداد و مسئلهی CityFlow
۵ درس- پیامرسان (Message Broker) چه مسئلهای را حل میکند؟
- ایدهی اصلی Kafka: گزارش ثبت توزیعشده
- نصب Docker و راهاندازی یک خوشهی واقعی Kafka
- KRaft، Kafdrop و اولین پیامها
- پروژهی راهنمادار: راهاندازی بستر Kafka شرکت CityFlow
- ۲
Topic، Partition و پیام
۵ درس- Topic و Partition
- ساختار یک پیام
- ساخت و بررسی Topicها
- اهمیت کلید پیام: راهبرد پارتیشنبندی
- پروژهی راهنمادار: طراحی ساختار Topicهای CityFlow
- ۳
Producer: نوشتن رویداد در Kafka
۵ درس- ساخت KafkaProducer و ارسال پیام
- کلیدها و مسیریابی پارتیشن در عمل
- تنظیمات مهم Producer
- مدیریت خطا و Callbackهای تحویل
- پروژهی راهنمادار: Producer بازپخش رویدادهای سفر CityFlow
- ۴
Consumer و گروههای مصرفکننده
۵ درس- ساخت KafkaConsumer و حلقهی Poll
- گروههای مصرفکننده
- Offset و Commit
- تفاوت assign() و subscribe()
- پروژهی راهنمادار: گروه مصرفکننده برای جریان سفرهای CityFlow
- ۵
ساختار درونی Kafka: تکثیر، Leader و خرابی
۵ درس- عضویت در خوشه و Controller در KRaft
- Partition، Leader، Replica و ISR
- پردازش درخواستها
- آزمایشگاه عملی: خاموشکردن یک Broker و مشاهدهی بازیابی
- پروژهی راهنمادار: مستندسازی یک سناریوی واقعی خرابی
- ۶
تحویل قابلاعتماد داده
۵ درس- تضمینهای تحویل
- قابلیت اطمینان در سمت Broker
- Producerهای Idempotent و تراکنشی
- Consumerهای قابلاعتماد
- پروژهی راهنمادار: ایجاد کنترلشدهی خرابی و اطمینان از ازدستنرفتن داده
- ۷
Schema Registry و قرارداد داده
۵ درس- چرا دادههای رویداد به Schema نیاز دارند
- Avro و دلیل انتخاب پیشفرض آن در Kafka
- اجرای Schema Registry و ثبت Schema
- حالتهای سازگاری و تکامل Schema
- پروژهی راهنمادار: تعریف و تکامل Schema رویداد سفر در CityFlow
- ۸
Kafka Connect: از پایگاه داده تا موتور جستوجو
۵ درس- معماری Kafka Connect
- Connector منبع JDBC
- Connector مقصد Elasticsearch
- Kafka Connect در برابر Producer و Consumer سفارشی
- پروژهی راهنمادار: جریان واقعی MySQL به Kafka به Elasticsearch برای CityFlow
- ۹
پردازش جریانی: Faust و Spark Structured Streaming
۵ درس- مفاهیم پردازش جریانی
- Faust: تبدیلهای بدون حالت
- Faust: تجمیع دارای حالت با Table
- Kafka و Spark Structured Streaming
- پروژهی راهنمادار: درآمد بلادرنگ به تفکیک منطقه به دو روش
- ۱۰
مدیریت و پایش جریانهای Kafka
۵ درس- چرا جریان دادهی بلادرنگ نیاز به مدیریت دارد
- ارتباط Airflow با Kafka
- پایش تأخیر مصرفکننده و سلامت Brokerها
- Kafka Connect و مدیریت خوشه
- پروژهی راهنمادار: DAG در Airflow برای پایش جریان CityFlow
- ۱۱
Kafka در مقیاس بزرگ: تکثیر، معماری و عملیات
۵ درس- چرا داده را میان خوشهها آینه کنیم
- MirrorMaker 2: تکثیر واقعی میان خوشهها
- معماریهای مرجع Kafka
- مقایسهی Kafka با سامانههای دیگر
- پروژهی راهنمادار: برنامهی مکتوب توسعهی مقیاس CityFlow
- ۱۲
پروژهی پایانی
۱ درس- پروژهی پایانی: بستر رویدادهای بلادرنگ شرکت CityFlow
شیوههای برگزاری
حضوری در محل سازمان
برگزاری کلاس در سازمان شما، با تمرین روی ابزارها و نمونههایی نزدیک به کار روزانهی تیم. زمان و مکان با هماهنگی تعیین میشود.
آنلاین و زنده
کلاسهای تعاملی آنلاین با پرسش و پاسخ، تمرین گروهی و بازخورد مستقیم؛ مناسب تیمهایی که در چند شهر یا دورکار هستند.
کارگاه کوتاه یا دورهی جامع
از کارگاه یکروزه برای یک موضوع مشخص تا دورهی چندماهه برای آمادهکردن تیم در یک مسیر شغلی کامل.
دورههای مرتبط
همهی دورههابرگزاری دورهی پردازش دادهی جریانی با Kafka در سازمان شما
تعداد شرکتکنندگان، سطح تیم و زمان مدنظر را بفرستید تا برای نیازسنجی و هماهنگی برنامهی دوره با شما تماس گرفته شود.