سسٹم ڈیزائن میں پولنگ (Polling in System Design)

پولنگ ایک کلائنٹ کو سرور سے اپ ڈیٹس حاصل کرنے کی اجازت دیتی ہے۔ آپ اس کا موازنہ ایک ویٹر سے کر سکتے ہیں جو آپ کے کھانے کا حال پوچھ رہا ہو۔

اس کے تین اہم طریقے موجود ہیں۔

شارٹ پولنگ (Short Polling)

کلائنٹ مقررہ وقفوں پر اپ ڈیٹ کے لیے پوچھتا ہے۔ اگر ڈیٹا تیار نہ ہو، تو سرور ایک خالی رسپانس (response) بھیج دیتا ہے۔ کلائنٹ اس چکر کو اس وقت تک دہراتا رہتا ہے جب تک ڈیٹا موصول نہ ہو جائے۔ یہ طریقہ بہت سی غیر ضروری درخواستیں (requests) پیدا کرتا ہے۔

لانگ پولنگ (Long Polling)

کلائنٹ ایک درخواست بھیجتا ہے اور سرور اسے کھلا رکھتا ہے۔ سرور صرف اس وقت جواب دیتا ہے جب ڈیٹا تیار ہو جائے۔ جیسے ہی کلائنٹ کو جواب ملتا ہے، وہ فوراً ایک نئی درخواست بھیج دیتا ہے۔ اس سے تقریباً ریئل ٹائم (real-time) کا احساس ہوتا ہے۔ یہ شارٹ پولنگ کے مقابلے میں خالی رسپانسز کو کم کرتا ہے۔

ایونٹ اسٹریم (Event Stream)

کلائنٹ اور سرور ایک واحد کنکشن کھولتے ہیں۔ یہ کنکشن اس وقت تک کھلا رہتا ہے جب تک کہ کوئی ایک طرف سے اسے بند نہ کر دے۔ جب بھی کوئی ایونٹ ہوتا ہے، سرور کلائنٹ کو ڈیٹا بھیجتا (push کرتا) ہے۔ یہ حقیقی ریئل ٹائم کمیونیکیشن ہے۔

اس کا نقصان وسائل کا استعمال ہے۔ کنکشن ایک مخصوص پورٹ (port) پر قبضہ کر لیتا ہے۔ جب تک کنکشن ختم نہیں ہوتا، وہ پورٹ دیگر کاموں کے لیے دستیاب نہیں رہتا۔

آپ کا انتخاب آپ کے سسٹم کی ضروریات اور ان سمجھوتوں (trade-offs) پر منحصر ہے جنہیں آپ قبول کرنے کے لیے تیار ہیں۔

ماخذ: https://dev.to/cibani_joe/polling-in-system-design-ph6