למה מערכת טובה מגבילה את עצמה

תוכן עניינים

למה מערכת טובה מגבילה את עצמה

האינטואיציה הראשונית אומרת: מערכת טובה היא מערכת גמישה. כזו שלא חוסמת, שלא מגבילה, שלא אומרת “לא”.

אבל במערכות מורכבות - חופש מוחלט לא מייצר עוצמה. הוא מייצר כאוס.

מה קורה כשמערכת לא מציבה גבולות

מערכת שלא מציבה לעצמה גבולות מאפשרת:

  • לכל רכיב לפעול בקצב שלו
  • לכל לקוח לצרוך כמה שהוא רוצה
  • לכל תרחיש “להסתדר איכשהו”

על הנייר זה נראה שירותי, פתוח, מתקדם. במציאות - זו מערכת שמוותרת על שליטה.

גבולות כסימן לבגרות

גבולות יזומים הם לא סימן לחולשה, אלא לבגרות תכנונית.

מגבלה על:

  • קצב בקשות
  • גודל payload
  • מספר חיבורים
  • עומק תור

לא נועדה “להפריע”, אלא לשמר יציבות כשהמערכת פוגשת עומס, שונות, ושגיאות.

מערכת ללא גבולות מתפקדת יפה בתנאים אידיאליים. מערכת עם גבולות מתפקדת גם כשהם נשברים.

הסכנה ב”לאפשר הכול”

הסכנה הגדולה ב”לאפשר הכול” היא שהוא דוחה החלטות קשות. במקום לבחור מה חשוב ומה קריטי, הכול פתוח - עד שברגע אחד שום דבר לא עובד.

ואז הכשל הוא לא נקודתי, אלא רוחבי.

גבולות הם עיקרון תכנוני, לא טלאי

Rate limit, backpressure, quotas, timeouts - אלה לא פתרונות מקומיים, אלא הצהרה על אופי המערכת:

על מה היא מגנה, ומה היא מוכנה להקריב כדי להישאר חיה.

המשל

כביש ללא תמרורים, ללא מהירות מקסימלית וללא נתיבים. לכולם מותר הכול.

התנועה חופשית - עד שהיא נעצרת לחלוטין.

לא בגלל חוסר יכולת לנסוע, אלא בגלל חוסר גבולות.

סיכום

מערכת טובה לא מנסה להכיל כל תרחיש. היא מגדירה מראש מה לא יקרה.

דווקא המגבלות הן אלו שיוצרות:

  • צפיות
  • יציבות
  • והתנהגות שניתן לסמוך עליה

כי חופש מוחלט אולי נשמע אידיאלי - אבל מערכות חיות זקוקות לגבולות כדי לשרוד.

תגובות