𝗣𝗼𝗹𝗹𝗶𝗻𝗴 𝗶𝗻 𝗦𝘆𝘀𝘁𝗲𝗺 𝗗𝗲𝘀𝗶𝗴𝗻

ಪೋಲಿಂಗ್ (Polling) ವಿಧಾನವು ಕ್ಲೈಂಟ್ (client) ಸರ್ವರ್‌ನಿಂದ ಅಪ್‌ಡೇಟ್‌ಗಳನ್ನು ಪಡೆಯಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಇದನ್ನು ಒಬ್ಬ ವೇಟರ್ ನಿಮ್ಮ ಆಹಾರದ ಬಗ್ಗೆ ವಿಚಾರಿಸುವುದಕ್ಕೆ ಹೋಲಿಸಬಹುದು.

ಇದರಲ್ಲಿ ಮೂರು ಮುಖ್ಯ ವಿಧಾನಗಳಿವೆ.

Short Polling

ಕ್ಲೈಂಟ್ ನಿರ್ದಿಷ್ಟ ಕಾಲಾವಧಿಯ ಅಂತರದಲ್ಲಿ ಅಪ್‌ಡೇಟ್ ಕೇಳುತ್ತದೆ. ಡೇಟಾ ಸಿದ್ಧವಿಲ್ಲದಿದ್ದರೆ, ಸರ್ವರ್ ಖಾಲಿ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು (empty response) ಕಳುಹಿಸುತ್ತದೆ. ಡೇಟಾ ಬರುವವರೆಗೆ ಕ್ಲೈಂಟ್ ಈ ಚಕ್ರವನ್ನು ಪುನರಾವರ್ತಿಸುತ್ತದೆ. ಈ ವಿಧಾನವು ಅನೇಕ ಅನಗತ್ಯ ವಿನಂತಿಗಳನ್ನು (requests) ಸೃಷ್ಟಿಸುತ್ತದೆ.

Long Polling

ಕ್ಲೈಂಟ್ ಒಂದು ವಿನಂತಿಯನ್ನು ಕಳುಹಿಸುತ್ತದೆ ಮತ್ತು ಸರ್ವರ್ ಅದನ್ನು ತೆರೆದೇ ಇಡುತ್ತದೆ. ಡೇಟಾ ಸಿದ್ಧವಾದಾಗ ಮಾತ್ರ ಸರ್ವರ್ ಪ್ರತಿಕ್ರಿಯಿಸುತ್ತದೆ. ಕ್ಲೈಂಟ್ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಪಡೆದ ತಕ್ಷಣ, ಅದು ತಕ್ಷಣವೇ ಹೊಸ ವಿನಂತಿಯನ್ನು ಕಳುಹಿಸುತ್ತದೆ. ಇದು ನೈಜ-ಸಮಯದ (near real-time) ಅನುಭವವನ್ನು ನೀಡುತ್ತದೆ. ಇದು ಶಾರ್ಟ್ ಪೋಲಿಂಗ್‌ಗೆ ಹೋಲಿಸಿದರೆ ಖಾಲಿ ಪ್ರತಿಕ್ರಿಯೆಗಳನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ.

Event Stream

ಕ್ಲೈಂಟ್ ಮತ್ತು ಸರ್ವರ್ ಒಂದೇ ಸಂಪರ್ಕವನ್ನು (connection) ತೆರೆಯುತ್ತವೆ. ಒಂದು ಕಡೆಯಿಂದ ಅದನ್ನು ಮುಚ್ಚುವವರೆಗೆ ಈ ಸಂಪರ್ಕವು ತೆರೆದೇ ಇರುತ್ತದೆ. ಯಾವುದೇ ಘಟನೆ (event) ಸಂಭವಿಸಿದಾಗ ಸರ್ವರ್ ಕ್ಲೈಂಟ್‌ಗೆ ಡೇಟಾವನ್ನು ಕಳುಹಿಸುತ್ತದೆ (pushes). ಇದು ನಿಜವಾದ ನೈಜ-ಸಮಯದ ಸಂವಹನವಾಗಿದೆ.

ಇದರ ಅನಾನುಕೂಲವೆಂದರೆ ಸಂಪನ್ಮೂಲಗಳ ಬಳಕೆ (resource use). ಈ ಸಂಪರ್ಕವು ಒಂದು ನಿರ್ದಿಷ್ಟ ಪೋರ್ಟ್ ಅನ್ನು (port) ಬಳಸಿಕೊಳ್ಳುತ್ತದೆ. ಸಂಪರ್ಕ ಮುಗಿಯುವವರೆಗೆ ಆ ಪೋರ್ಟ್ ಇತರ ಕೆಲಸಗಳಿಗೆ ಲಭ್ಯವಿರುವುದಿಲ್ಲ.

ನಿಮ್ಮ ಆಯ್ಕೆಯು ನಿಮ್ಮ ಸಿಸ್ಟಮ್ ಅಗತ್ಯಗಳು ಮತ್ತು ನೀವು ಒಪ್ಪಿಕೊಳ್ಳುವ ವಹಿವಾಟುಗಳ (trade-offs) ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿರುತ್ತದೆ.

Source: https://dev.to/cibani_joe/polling-in-system-design-ph6