सिस्टम डिज़ाइन में पोलिंग (Polling in System Design)

पोलिंग एक क्लाइंट को सर्वर से अपडेट प्राप्त करने की अनुमति देता है। आप इसकी तुलना एक वेटर से कर सकते हैं जो आपके खाने की जांच कर रहा हो।

इसके तीन मुख्य तरीके मौजूद हैं।

शॉर्ट पोलिंग (Short Polling)

क्लाइंट एक निश्चित अंतराल पर अपडेट के लिए पूछता है। यदि डेटा तैयार नहीं है, तो सर्वर एक खाली रिस्पॉन्स भेजता है। क्लाइंट तब तक इस चक्र को दोहराता रहता है जब तक डेटा प्राप्त न हो जाए। यह तरीका कई अनावश्यक रिक्वेस्ट पैदा करता है।

लॉन्ग पोलिंग (Long Polling)

क्लाइंट एक रिक्वेस्ट भेजता है और सर्वर उसे खुला रखता है। सर्वर तभी रिस्पॉन्स देता है जब डेटा तैयार हो जाता है। जैसे ही क्लाइंट को रिस्पॉन्स मिलता है, वह तुरंत एक नई रिक्वेस्ट भेज देता है। इससे लगभग रियल-टाइम जैसा अनुभव मिलता है। यह शॉर्ट पोलिंग की तुलना में खाली रिस्पॉन्स को कम करता है।

इवेंट स्ट्रीम (Event Stream)

क्लाइंट और सर्वर एक सिंगल कनेक्शन खोलते हैं। यह कनेक्शन तब तक खुला रहता है जब तक कि कोई एक पक्ष इसे बंद न कर दे। जब भी कोई इवेंट होता है, सर्वर क्लाइंट को डेटा पुश करता है। यह वास्तविक रियल-टाइम कम्युनिकेशन है।

इसका नुकसान संसाधनों का उपयोग है। कनेक्शन एक विशिष्ट पोर्ट को घेर लेता है। जब तक कनेक्शन समाप्त नहीं हो जाता, वह पोर्ट अन्य कार्यों के लिए अनुपलब्ध रहता है।

आपका चुनाव आपकी सिस्टम की जरूरतों और आपके द्वारा स्वीकार किए जाने वाले ट्रेड-ऑफ पर निर्भर करता है।

स्रोत: https://dev.to/cibani_joe/polling-in-system-design-ph6