Polling בעיצוב מערכות

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

קיימות שלוש שיטות עיקריות.

Short Polling

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

Long Polling

הלקוח שולח בקשה והשרת משאיר אותה פתוחה. השרת מגיב רק כאשר הנתונים מוכנים. ברגע שהלקוח מקבל את התגובה, הוא שולח בקשה חדשה באופן מיידי. זה יוצר תחושה של זמן אמת (near real-time). זה מפחית את מספר התגובות הריקות בהשוואה ל-short polling.

Event Stream

הלקוח והשרת פותחים חיבור יחיד. חיבור זה נשאר פתוח עד שאחד הצדדים סוגר אותו. השרת דוחף (pushes) נתונים ללקוח בכל פעם שמתרחש אירוע. זוהי תקשורת זמן אמת אמיתית.

החיסרון הוא השימוש במשאבים. החיבור תופס פורט (port) ספציפי. פורט זה נותר לא זמין למשימות אחרות עד לסיום החיבור.

הבחירה שלכם תלויה בצרכי המערכת שלכם ובפשרות (trade-offs) שאתם מוכנים לקבל.

מקור: https://dev.to/cibani_joe/polling-in-system-design-ph6