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