הקשר: שיא הפרויקט הצוותי — כל 4 השירותים (Collector, Analyzer, Alert, Dashboard) שנבנו בנפרד רצים יחד לראשונה, עם docker-compose ותהליך עבודה צוותי אמיתי.

מטרת הפרויקט: כל צוות ירכיב ויפעיל את מערכת המודיעין השלמה עם docker-compose, ויציג אותה — עם End-to-End Flow מאומת ולפחות PR אחד עם קוד-ריוויו.


דגשים להנחיה

  • זהו השלב שבו בעיות Contract “נסתרות” מתגלות סוף-סוף — זה צפוי ותקין, לא כישלון. הכינו את הצוותים מראש לכך שדיבוג באינטגרציה שונה מדיבוג שירות בודד, ולעודד שיתוף פעולה בין חברי הצוות (לא רק “כל אחד מתקן את שלו”).
  • ודאו ש-PR+קוד-ריוויו קורה בפועל, לא רק “מדובר עליו” — זה חלק מהותי מהלמידה על עבודת צוות אמיתית.
  • הקדישו את רוב הזמן לעבודה בפועל ולפתרון בעיות אינטגרציה אמיתיות, לא הרצאה. הכינו זמן חיץ (buffer) — אינטגרציה תמיד לוקחת יותר זמן מהמצופה.

איך להעריך הצלחה

הובילו כל צוות דרך רצף אבחון מובנה: (1) docker-compose ps — כל השירותים למעלה? (2) docker logs collector — הבקשה התקבלה ופורסמה בהצלחה? (3) docker logs analyzer — קיבל ועיבד? (4) docker logs dashboard — מאזין ל-Topic הנכון? בדקו שאירוע “רגיל” מופיע ב-totalEvents, ושאירוע קיצוני מופיע גם ב-totalAnomalies וגם מייצר התראה — הכל מבקשת HTTP יחידה, בלי הזרקה ידנית.


טעויות נפוצות של סטודנטים

  • מריצים כל שירות בנפרד עם docker run במקום docker-compose — מאבדים את הרשת המשותפת האוטומטית.
  • מניחים ש-depends_on מבטיח ש-Kafka מוכן, לא רק שהוא התחיל — לפעמים נדרשת המתנה קצרה נוספת.
  • מדלגים על בדיקת End-to-End ומסתפקים בבדיקת כל שירות בבידוד — מפספסים בעיות Contract אמיתיות.

תרגיל חשיבה

שאלת פתיחה: “אתם מריצים docker-compose up, שולחים בקשה ל-Collector, אבל Dashboard לא מראה שום דבר חדש. מהם 4 המקומות הראשונים שהייתם בודקים, ולפי איזה סדר?”

מהלך: הובילו את הצוותים לבנות רצף אבחון: (1) docker-compose ps — כל השירותים למעלה? (2) docker logs collector — הבקשה התקבלה, פורסמה בהצלחה? (3) docker logs analyzer — קיבל, עיבד? (4) docker logs dashboard — מאזין ל-Topic הנכון? זהו בדיוק רצף האבחון המקצועי שיהיה להם צורך בו בפועל תוך כדי השיעור.

מה המרצה מראה בסוף: בחרו צוות (בהסכמתם) עם בעיית אינטגרציה אמיתית שעדיין קיימת, ועברו יחד עם כל הכיתה על תהליך האבחון בשידור חי — לפי הרצף שנבנה יחד בתרגיל החשיבה. פתרון תקלה אמיתית מול הכיתה משכנע הרבה יותר מכל תרחיש מבוים.