Serialization: המחיר של העברת מידע

📚 מערכות Event-Driven - חלק 5 ארכיטקטורה מערכתית #Event-Driven#Serialization
תוכן עניינים

Serialization: המחיר של העברת מידע

אחרי שהאירוע נוצר, ואחרי שה-Broker קיבל אותו - מגיע שלב שנראה טכני לחלוטין, כמעט שקוף:

איך המידע עצמו עובר.

כאן נכנסת Serialization - ואיתה אחד המחירים הכי לא מוערכים במערכות Event-driven.

מה זה בעצם Serialization

Serialization היא הפעולה שבה מידע בזיכרון מומר לייצוג שאפשר להעביר:

  • בין תהליכים
  • בין מכונות
  • דרך רשת
  • או לתור

אובייקט, מבנה, או נתונים “חיים” הופכים לרצף של בתים.

בלי Serialization - אין תקשורת.

למה זה לא טריוויאלי

בזיכרון, מידע הוא:

  • מקושר
  • עשיר
  • ולעיתים תלוי הקשר

כדי להעביר אותו, צריך:

  • לנתק אותו מההקשר
  • לבחור פורמט
  • להחליט מה נכנס ומה לא
  • ולוותר על דברים בדרך

זו לא העתקה. זו תרגום.

וכל תרגום עולה זמן.

איפה נכנס הזמן

Serialization מוסיפה Latency בכמה שכבות:

  • זמן המרה לפורמט
  • זמן העתקה לזיכרון רציף
  • זמן שליחה
  • וזמן פירוק בצד השני (Deserialization)

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

כשהעומס נמוך - זה זניח. כשיש סקייל - זה מצטבר מהר מאוד.

למה זה כואב במיוחד ב-Event-driven

במערכת Event-driven:

  • יש הרבה אירועים קטנים
  • שעוברים הרבה תחנות
  • ולעיתים כמה צרכנים

כל Hop מוסיף: Serialization → Deserialization → Serialization מחדש.

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

הפורמט הוא החלטה תכנונית

בחירת פורמט אינה אסתטיקה. היא קובעת:

  • גודל הודעה
  • זמן עיבוד
  • גמישות עתידית
  • ויכולת אבולוציה של המערכת

פורמט “נוח” למפתח יכול להיות יקר למערכת.

ושוב חוזר העיקרון: מה שנראה זול בקוד - עולה ביוקר בזמן ריצה.

המשל

דמיינו רעיון בראש.

כדי להעביר אותו: צריך לנסח אותו במילים, לכתוב, לשלוח, והצד השני צריך לקרוא ולהבין.

זה תמיד איטי יותר מלחשוב לבד.

Serialization היא הכתיבה הזו.

השורה התחתונה

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

Event-driven מוסיף תיווך. Serialization מוסיפה זמן.

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

תגובות