𝗦𝗵𝗼𝗿𝘁 𝗣𝗼𝗹𝗹𝗶𝗻𝗴, 𝗟𝗼𝗻𝗴 𝗣𝗼𝗹𝗹𝗶𝗻𝗴, 𝗔𝗻𝗱 𝗦𝗦𝗘

ನೀವು ಸರ್ವರ್‌ನಿಂದ ಕ್ಲೈಂಟ್‌ಗೆ ಡೇಟಾವನ್ನು ಕಳುಹಿಸಬೇಕಾಗಿದೆ. ಇದನ್ನು ಮಾಡಲು ಇಲ್ಲಿ ಮೂರು ವಿಧಾನಗಳಿವೆ.

Short Polling

ರೆಸ್ಟೋರೆಂಟ್‌ನಲ್ಲಿರುವ ಒಬ್ಬ ಗ್ರಾಹಕನನ್ನು ನೆನಪಿಸಿಕೊಳ್ಳಿ. ಆಹಾರ ಸಿದ್ಧವಿದೆಯೇ ಎಂದು ಗ್ರಾಹಕನು ಪ್ರತಿ 5 ಸೆಕೆಂಡಿಗೆ ವೇಟರ್ ಅನ್ನು ಕೇಳುತ್ತಾನೆ.

ಗ್ರಾಹಕನು ನಿಯಮಿತ ಅಂತರದಲ್ಲಿ ಈ ಪ್ರಶ್ನೆಯನ್ನು ಪುನರಾವರ್ತಿಸುತ್ತಾನೆ.

ಸಮಸ್ಯೆಗಳು:

  • ನಿಮ್ಮ ಸರ್ವರ್‌ಗೆ ಅತಿಯಾದ ರಿಕ್ವೆಸ್ಟ್‌ಗಳು (requests) ಬರುತ್ತವೆ.
  • ಅಪ್‌ಡೇಟ್‌ಗಳು ವಿಳಂಬವಾಗುತ್ತವೆ. ಒಂದು ವೇಳೆ ಪ್ರಶ್ನೆ ಕೇಳಿದ 1 ಸೆಕೆಂಡ್ ನಂತರ ಆಹಾರ ಸಿದ್ಧವಾದರೆ, ಗ್ರಾಹಕನು ಮತ್ತೆ ಕೇಳಲು ಇನ್ನೂ 4 ಸೆಕೆಂಡುಗಳ ಕಾಲ ಕಾಯಬೇಕಾಗುತ್ತದೆ.
  • ಇದು ನೆಟ್‌ವರ್ಕ್ ಸಂಪನ್ಮೂಲಗಳನ್ನು ವ್ಯರ್ಥ ಮಾಡುತ್ತದೆ.

Long Polling

ಗ್ರಾಹಕನು ವೇಟರ್‌ನನ್ನು ಕೇಳುತ್ತಾನೆ: "ನನ್ನ ಆಹಾರ ಸಿದ್ಧವಾದಾಗ ನನಗೆ ತಿಳಿಸಿ."

ವೇಟರ್ ಟೇಬಲ್ ಬಳಿಯೇ ನಿಂತು ಕಾಯುತ್ತಾನೆ. ಶೆಫ್ ಆಹಾರವನ್ನು ತಯಾರಿಸಿದ ತಕ್ಷಣ, ವೇಟರ್ ಗ್ರಾಹಕನಿಗೆ ತಕ್ಷಣವೇ ತಿಳಿಸುತ್ತಾನೆ. ಒಂದು ವೇಳೆ ಆಹಾರ ತಯಾರಿಸಲು ತುಂಬಾ ಸಮಯ ತಗೆದುಕೊಂಡರೆ, ಅದು ಇನ್ನೂ ಸಿದ್ಧವಾಗಿಲ್ಲ ಎಂದು ವೇಟರ್ ಗ್ರಾಹಕನಿಗೆ ತಿಳಿಸುತ್ತಾನೆ.

ಸಮಸ್ಯೆಗಳು:

  • ಕನೆಕ್ಷನ್‌ಗಳು ದೀರ್ಘಕಾಲದವರೆಗೆ ತೆರೆದಿರುತ್ತವೆ.
  • ನೀವು ಕನೆಕ್ಷನ್ ಟೈಮೌಟ್ (connection timeouts) ಎದುರಿಸಬಹುದು.
  • ಏಕಕಾಲದಲ್ಲಿ ಅನೇಕ ಗ್ರಾಹಕರನ್ನು ನಿರ್ವಹಿಸುವುದು ಕಷ್ಟವಾಗುತ್ತದೆ.

Server Sent Events (SSE)

ಲೈವ್ ಸ್ಟಾಕ್ ಬೆಲೆಗಳನ್ನು (live stock prices) ನೆನಪಿಸಿಕೊಳ್ಳಿ. ಕ್ಲೈಂಟ್ ಒಮ್ಮೆ ಕನೆಕ್ಷನ್ ಅನ್ನು ತೆರೆಯುತ್ತಾನೆ. ಸರ್ವರ್ ಈ ಕನೆಕ್ಷನ್ ಅನ್ನು ತೆರೆದಿಡುತ್ತದೆ. ಬೆಲೆ ಬದಲಾದಾಗಲೆಲ್ಲಾ, ಸರ್ವರ್ ಅಪ್‌ಡೇಟ್ ಅನ್ನು ಕ್ಲೈಂಟ್‌ಗೆ ಕಳುಹಿಸುತ್ತದೆ.

ಪ್ರಮುಖ ಅಂಶಗಳು:

  • ಇದು ಏಕಮುಖ ಸಂವಹನ (one-way communication).
  • ಡೇಟಾ ಕೇವಲ ಸರ್ವರ್‌ನಿಂದ ಕ್ಲೈಂಟ್‌ಗೆ ಮಾತ್ರ ಹರಿಯುತ್ತದೆ.
  • ಕ್ಲೈಂಟ್ ಈ ಕನೆಕ್ಷನ್ ಮೂಲಕ ಯಾವುದೇ ಸಂದೇಶಗಳನ್ನು ಹಿಂತಿರುಗಿಸುವುದಿಲ್ಲ.

ಮೂಲ: https://dev.to/guruharish_b/short-polling-long-polling-and-sse-20o5