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

ഒരു സെർവറിൽ നിന്ന് ഒരു ക്ലയന്റിലേക്ക് ഡാറ്റ അയക്കേണ്ടതുണ്ട്. ഇത് ചെയ്യുന്നതിനുള്ള മൂന്ന് വഴികൾ താഴെ പറയുന്നവയാണ്.

Short Polling

ഒരു റെസ്റ്റോറന്റിലെ ഉപഭോക്താവിനെക്കുറിച്ച് ചിന്തിക്കുക. ഭക്ഷണം തയ്യാറായോ എന്ന് ഉപഭോക്താവ് ഓരോ 5 സെക്കൻഡിലും വെയിറ്ററോട് ചോദിക്കുന്നു.

ഉപഭോക്താവ് കൃത്യമായ ഇടവേളകളിൽ ഈ ചോദ്യം ആവർത്തിക്കുന്നു.

പ്രശ്നങ്ങൾ:

  • അമിതമായ റിക്വസ്റ്റുകൾ നിങ്ങളുടെ സെർവറിലേക്ക് എത്തുന്നു.
  • അപ്‌ഡേറ്റുകൾ വൈകുന്നു. ചോദ്യം ചോദിച്ചതിന് 1 സെക്കൻഡ് കഴിഞ്ഞ് ഭക്ഷണം തയ്യാറായതെങ്കിൽ പോലും, വീണ്ടും ചോദിക്കാൻ ഉപഭോക്താവ് അടുത്ത 4 സെക്കൻഡ് കൂടി കാത്തിരിക്കേണ്ടി വരുന്നു.
  • ഇത് നെറ്റ്‌വർക്ക് വിഭവങ്ങൾ പാഴാക്കുന്നു.

Long Polling

ഉപഭോക്താവ് വെയിറ്ററോട് ചോദിക്കുന്നു: "എന്റെ ഭക്ഷണം തയ്യാറാകുമ്പോൾ എന്നെ അറിയിക്കൂ."

വെയിറ്റർ ടേബിളിന് അരികിൽ തന്നെ നിന്ന് കാത്തിരിക്കുന്നു. ഷെഫ് ഭക്ഷണം തയ്യാറാക്കിയാൽ വെയിറ്റർ ഉടൻ തന്നെ ഉപഭോക്താവിനെ അറിയിക്കുന്നു. ഭക്ഷണം തയ്യാറാക്കാൻ കൂടുതൽ സമയമെടുക്കുകയാണെങ്കിൽ, അത് ഇതുവരെ തയ്യാറായിട്ടില്ലെന്ന് വെയിറ്റർ ഉപഭോക്താവിനോട് പറയുന്നു.

പ്രശ്നങ്ങൾ:

  • കണക്ഷനുകൾ ദീർഘനേരം തുറന്നുതന്നെ ഇരിക്കുന്നു.
  • കണക്ഷൻ ടൈമൗട്ടുകൾ (connection timeouts) സംഭവിക്കാം.
  • ഒരേസമയം നിരവധി ഉപഭോക്താക്കളെ കൈകാര്യം ചെയ്യുന്നത് പ്രയാസകരമാണ്.

Server Sent Events (SSE)

ലൈവ് സ്റ്റോക്ക് വിലകളെക്കുറിച്ച് ചിന്തിക്കുക. ക്ലയന്റ് ഒരു തവണ മാത്രം കണക്ഷൻ തുറക്കുന്നു. സെർവർ ഈ കണക്ഷൻ തുറന്നുതന്നെ വെക്കുന്നു. വിലയിൽ മാറ്റം വരുമ്പോഴെല്ലാം സെർവർ ആ അപ്‌ഡേറ്റ് ക്ലയന്റിലേക്ക് അയക്കുന്നു.

പ്രധാന കാര്യങ്ങൾ:

  • ഇതൊരു വൺ-വേ (one-way) കമ്മ്യൂണിക്കേഷൻ ആണ്.
  • ഡാറ്റ സെർവറിൽ നിന്ന് ക്ലയന്റിലേക്ക് മാത്രമേ ഒഴുകുന്നുള്ളൂ.
  • ഈ കണക്ഷനിലൂടെ ക്ലയന്റ് തിരികെ സന്ദേശങ്ങൾ അയക്കുന്നില്ല.

Source: https://dev.to/guruharish_b/short-polling-long-polling-and-sse-20o5