சிஸ்டம் டிசைனில் போலிங் (Polling in System Design)

போலிங் (Polling) என்பது ஒரு கிளையண்ட் (client) சர்வரிலிருந்து (server) தகவல்களைப் பெற அனுமதிக்கிறது. இதை ஒரு வெயிட்டர் உங்கள் உணவைச் சரிபார்ப்பதுடன் ஒப்பிடலாம்.

மூன்று முக்கிய முறைகள் உள்ளன.

ஷார்ட் போலிங் (Short Polling)

கிளையண்ட் குறிப்பிட்ட கால இடைவெளியில் தகவல்களைக் கேட்கும். தரவு தயாராக இல்லையென்றால், சர்வர் ஒரு வெற்றுக் பதிலையே (empty response) அனுப்பும். தரவு கிடைக்கும் வரை கிளையண்ட் இந்தச் சுழற்சியைத் தொடரும். இந்த முறை தேவையற்ற பல கோரிக்கைகளை (requests) உருவாக்குகிறது.

லாங் போலிங் (Long Polling)

கிளையண்ட் ஒரு கோரிக்கையை அனுப்பும், சர்வர் அதைத் திறந்து வைத்திருக்கும். தரவு தயாரானதும் மட்டுமே சர்வர் பதிலளிக்கும். கிளையண்ட் பதிலைப் பெற்றவுடன், உடனடியாக ஒரு புதிய கோரிக்கையை அனுப்பும். இது கிட்டத்தட்ட நிகழ்நேரத் (near real-time) தன்மையைத் தருகிறது. ஷார்ட் போலிங்குடன் ஒப்பிடும்போது, இது வெற்றுக் பதில்களின் எண்ணிக்கையைக் குறைக்கிறது.

ஈவென்ட் ஸ்ட்ரீம் (Event Stream)

கிளையண்ட் மற்றும் சர்வர் ஒரு ஒற்றை இணைப்பைத் (connection) திறக்கின்றன. ஒரு பக்கம் அதை மூடும் வரை இந்த இணைப்புத் தொடர்ந்து இருக்கும். ஒரு நிகழ்வு (event) நிகழும்போது, சர்வர் தரவை கிளையண்டிற்குத் தள்ளுகிறது (pushes). இது உண்மையான நிகழ்நேரத் தொடர்பாகும் (true real-time communication).

இதன் குறைபாடு வளங்களின் பயன்பாடு (resource use) ஆகும். இந்த இணைப்பு ஒரு குறிப்பிட்ட போர்ட்டை (port) ஆக்கிரமிக்கும். இணைப்பு முடியும் வரை அந்த போர்ட் மற்ற பணிகளுக்குப் பயன்படாது.

உங்கள் தேர்வு உங்கள் சிஸ்டத்தின் தேவைகள் மற்றும் நீங்கள் ஏற்றுக்கொள்ளும் சமரசங்களைப் (trade-offs) பொறுத்தது.

மூலம்: https://dev.to/cibani_joe/polling-in-system-design-ph6