כשהתקשורת נשברת - הנדסה תחת עומס, כשל ואי-ודאות
כשהתקשורת נשברת - הנדסה תחת עומס, כשל ואי-ודאות
למה להבין תקשורת זה לא מספיק
אם הגעתם לכאן, אתם כבר יודעים מה זה פרוטוקול, מה זה Packet, מה ההבדל בין TCP ל-UDP, ולמה Latency, תורים ו-HTTP נראים פשוטים רק מרחוק.
אתם כבר מבינים תקשורת.
אבל כאן מגיע השלב הפחות נוח: להבין - זה עדיין לא אומר לדעת לבנות מערכת שמחזיקה.
הידע שלא נשבר - וההנחות שכן
רוב המערכות לא קורסות בגלל חוסר ידע. הן קורסות בגלל הנחות שקטות:
- שהרשת “בסדר בדרך כלל”
- ש-Timeout אחד טוב מתאים לכולם
- ש-Retry הוא תמיד רעיון טוב
- שאם זה עבד בעומס הקודם - זה יעבוד גם בבא
הידע נכון. ההקשר השתנה.
מה משתנה כשעוברים מרעיון למערכת חיה
בסדרה הבסיסית למדנו: איך תקשורת אמורה לעבוד.
בסדרה הזו נעסוק בשאלה אחרת לגמרי: מה קורה כשכל מה שלמדנו פוגש מציאות.
מציאות שבה:
- עומסים מגיעים בגלים
- רכיבים מגיבים באיחור
- החלטות קטנות מצטברות לנזק גדול
- ואין “מצב נורמלי” שאפשר להסתמך עליו
זו לא סדרה על מנגנונים - אלא על גבולות
לא נעמיק כאן בפרוטוקולים חדשים. נעמיק במה שקורה בקצה שלהם.
נדבר על:
- החלטות שאין להן תשובה נכונה
- פשרות שאי אפשר להתחמק מהן
- ומקומות שבהם “עוד אופטימיזציה” רק מחמירה את המצב
זו סדרה על: מתי לעצור, מתי לוותר, ומתי להבין שהמערכת מבקשת גבול - לא שיפור.
למה הסדרה הזו פחות מנחמת
כי היא לא מציעה מתכונים. היא מציעה אחריות.
אחרי הסדרה הזו:
- לא תוכלו להגיד “הרשת אשמה”
- תזהו Retry מסוכן גם כשהוא נראה חכם
- ותשאלו “מה יקרה תחת עומס?” לפני “כמה זה מהיר?”
זו אינה חשיבה פסימית. זו חשיבה בוגרת.
נקודת המוצא
ההנחה היחידה של הסדרה הזו היא:
כשל אינו אירוע חריג - הוא מצב פעולה.
מכאן נצא למסע שעוסק ב-Timeouts, Retries, Backpressure, Consistency, לא כקונספטים - אלא כהחלטות עם מחיר.
בפוסט הבא נתחיל מהשורש: ההנחה המסוכנת ביותר במערכות תקשורת - שהרשת אמינה “ברוב הזמן”.
מכאן והלאה, לא שואלים איך זה עובד - שואלים איך זה נשבר.
📚 פוסטים נוספים בסדרה: כשהתקשורת נשברת
- חלק 1 הנחת היסוד המסוכנת - הרשת אמינה "ברוב הזמן"
- חלק 2 Timeouts - ההחלטה הקשה ביותר בתקשורת
- חלק 3 Retries - מנגנון התאוששות או מכפיל נזק
- חלק 4 Load אינו אויב - Spikes כן
- חלק 5 Backpressure - כשלא אומרים "כן" לכול
- חלק 6 Queue אינו פתרון - הוא התחייבות
- חלק 7 Ordering - למה סדר הוא מותרות יקרות
- חלק 8 Idempotency - לתכנן כאילו הכול יישלח פעמיים
- חלק 9 Consistency מול Availability - לא תיאוריה, אלא בחירה יומיומית
- חלק 10 RPC, Messaging, Streaming - שלוש פילוסופיות תקשורת
- חלק 11 Stateless זה לא שאין State - זה איפה הוא נמצא
- חלק 12 תקשורת כמשקפת תרבות הנדסית
- חלק 13 מערכות שמחזיקות - לא בגלל שהן חכמות, אלא בגלל שהן צנועות
- חלק 14 מה למדנו - מפת הדרך של הסדרה כולה