ഇവന്റ് സ്ട്രീം, ഷോർട്ട് പോളിംഗ്, ലോങ്ങ് പോളിംഗ്
വലിയ അളവിലുള്ള ഡാറ്റ ശേഖരിക്കുന്നത് ഉപയോക്താക്കൾക്ക് പ്രശ്നങ്ങൾ സൃഷ്ടിക്കുന്നു. ഒരു മറുപടിക്കായി ഉപയോക്താവ് ഒരുപാട് സമയം കാത്തിരിക്കേണ്ടി വന്നാൽ, അത് അനുഭവം മന്ദഗതിയിലാണെന്ന് തോന്നിപ്പിക്കും. ഇത്തരം ഡാറ്റാ അഭ്യർത്ഥനകൾ കൈകാര്യം ചെയ്യാൻ നിങ്ങൾ വ്യത്യസ്ത രീതികൾ ഉപയോഗിക്കുന്നു.
ഷോർട്ട് പോളിംഗ് ക്ലയന്റ് നിശ്ചിത ഇടവേളകളിൽ സെർവറിലേക്ക് അഭ്യർത്ഥനകൾ അയക്കുന്നു. സെർവർ ഓരോ അഭ്യർത്ഥനയ്ക്കും ഉടനടി മറുപടി നൽകുന്നു. പുതിയ ഡാറ്റ ഉണ്ടോ ഇല്ലയോ എന്ന് ഇത് ക്ലയന്റിനെ അറിയിക്കുന്നു. നിരന്തരമായ അഭ്യർത്ഥനകൾ കാരണം ഈ രീതി ധാരാളം റിസോഴ്സുകൾ ഉപയോഗിക്കുന്നു.
ലോങ്ങ് പോളിംഗ് ക്ലയന്റ് സെർവറിലേക്ക് ഒരു അഭ്യർത്ഥന അയക്കുന്നു. പുതിയ ഡാറ്റ ലഭിക്കുന്നത് വരെയോ അല്ലെങ്കിൽ ടൈംഔട്ട് (timeout) സംഭവിക്കുന്നത് വരെയോ സെർവർ ആ അഭ്യർത്ഥന നിലനിർത്തുന്നു. ഇത് ശൂന്യമായ മറുപടികളുടെ എണ്ണം കുറയ്ക്കുന്നു.
ഇവന്റ് സ്ട്രീം (SSE) വലിയ ഡാറ്റാസെറ്റുകൾ ദീർഘമായ കാത്തിരിപ്പിന് കാരണമാകുന്നു. നിങ്ങൾക്ക് 100,000 വരി ഡാറ്റ ഉണ്ടെങ്കിൽ, അവയെല്ലാം ഒരേസമയം അയക്കുന്നത് മന്ദഗതിയിലായിരിക്കും. ഡാറ്റ ചെറിയ ഭാഗങ്ങളായി (chunks) അയക്കുന്നതിലൂടെ നിങ്ങൾക്ക് ഉപയോക്തൃ അനുഭവം മെച്ചപ്പെടുത്താൻ കഴിയും.
ഇവന്റ് സ്ട്രീം ഇപ്രകാരമാണ് പ്രവർത്തിക്കുന്നത്:
- ക്ലയന്റ് സെർവറുമായി ഒരു കണക്ഷൻ ആരംഭിക്കുന്നു.
- ആ കണക്ഷൻ തുറന്നുതന്നെ ഇരിക്കുന്നു.
- ഡാറ്റ തയ്യാറാകുമ്പോൾ സെർവർ അതിന്റെ ചെറിയ ഭാഗങ്ങൾ അയക്കുന്നു.
- മുഴുവൻ ഡാറ്റയും ലഭിക്കാൻ കാത്തിരിക്കുന്നതിന് പകരം ഉപയോക്താവിന് ഫലങ്ങൾ ഉടനടി കാണാൻ സാധിക്കുന്നു.
സെർവർ എല്ലാ ഇവന്റുകളും അയച്ചു തീരുന്നത് വരെ ഈ രീതി കണക്ഷൻ സജീവമായി നിലനിർത്തുന്നു. ഇത് ആപ്ലിക്കേഷനുകൾ വേഗതയുള്ളതും പ്രതികരണശേഷിയുള്ളതുമായി തോന്നിപ്പിക്കുന്നു.
ഉറവിടം: https://dev.to/anubama_i/event-stream-short-polling-long-polling-54n