# מערך שיעור: Ingestion Service📋 מערך מרצה

משך: 2 שעות אקדמיות (90 דקות).

מטרת השיעור: הסטודנטים יבנו Ingestion Service עם Redis Temp Storage, כשירות ראשון בפרויקט הסיום.

בסוף השיעור הסטודנטים צריכים: לממש endpoint קליטה+פרסום, להסביר את ההבדל בין Temp Storage ל-Cache-Aside, ולהכיר את מושג ה-Backpressure ברמת מודעות.

דגש קריטי: זהו פרויקט הסיום של הקורס — הדגישו את זה, ותנו לסטודנטים תחושת "פרק אחרון" ולא "עוד יחידה".

---

## מהלך השיעור

| חלק בשיעור | משך | הערות ודגשים |
| --- | --- | --- |
| פתיחה וחיבור | 5 דקות | הציגו את מבנה הצנרת השלמה (3 שירותים) — פרויקט סיום |
| הדגמה: Ingestion בסיסי | 20 דקות | REST+Kafka, דומה ל-Collector |
| Redis Temp Storage | 25 דקות | הבדל מ-Cache-Aside, TTL |
| Backpressure (מודעות) | 10 דקות | לא ממומש, רק להכיר |
| השוואה ל-Collector Service | 10 דקות | דמיון ושוני |
| תרגול מודרך | 20 דקות | תרגיל 1+2 |

---

## דגשים להעברת השיעור

- ההשוואה המפורשת ל-Collector Service (מהפרויקט הקודם) חשובה — סטודנטים צריכים לזהות שזה לא "עוד נושא חדש" אלא יישום מוכר בהקשר מעט שונה.
- ההבחנה Temp Storage מול Cache-Aside היא הנקודה המושגית העדינה ביותר — הקדישו לה זמן עם דוגמאות משתי הגישות זו לצד זו.
- אפשר לתת ל-Backpressure רק אזכור קצר — אין ציפייה למימוש מלא, רק מודעות למונח ולסיכון.

---

## מושגים

**Ingestion** — נקודת כניסה לצנרת נתונים.
**Temp Storage** — מצב אחרון ידוע ב-Redis, לגישה מיידית.
**Backpressure** — עומס כשקצב קליטה עולה על קצב עיבוד.

---

## תרגיל חשיבה

**שאלת פתיחה:** "יש לכם Ingestion Service שקולט נתוני חיישן כל שנייה. Processing Service (השיעור הבא) לוקח לו 5 שניות לעבד כל נתון. מה קורה עם הזמן?"

**מהלך:** הובילו לתובנה: הפער בין קצב קליטה לקצב עיבוד (5x!) גורם להצטברות בלתי-נגמרת ב-Kafka Topic — זו בדיוק ההגדרה המעשית של Backpressure. שאלו: "מה הפתרונות האפשריים?" (יותר Partitions ומופעי Consumer, קצב קליטה מוגבל, או Sliding Window שזורק ישן) — לא צריך תשובה מלאה, רק מודעות לבעיה.

**מה המרצה מראה בסוף:** הראו (אם יש כלי מתאים) את גודל ה-Consumer Lag על Topic (כמה הודעות ממתינות שטרם נצרכו) כשקצב הקליטה עולה על קצב העיבוד — מספר גדל ומצטבר הוא ההוכחה החיה לBackpressure.
