𝗦𝗲𝗿𝘃𝗲𝗿 𝗦𝗲𝗻𝘁 𝗘𝘃𝗲𝗻𝘁𝘀 മനസ്സിലാക്കാം

നിങ്ങൾ ChatGPT ഉപയോഗിക്കുന്നു എന്ന് സങ്കൽപ്പിക്കുക. നിങ്ങൾ ഒരു ചോദ്യം ചോദിക്കുന്നു. വാക്കുകൾ ഓരോന്നായി വരുന്നത് കാണുന്നതിന് പകരം, മുഴുവൻ ഉത്തരവും ഒരുമിച്ച് വരാനായി നിങ്ങൾ 5 സെക്കൻഡ് കാത്തിരിക്കുന്നു.

ഈ താമസം വളരെ സാവധാനമാണെന്ന് തോന്നും. ഇത് നിരാശാജനകമാണ്.

ഇത് പരിഹരിക്കാൻ ഡെവലപ്പർമാർ streaming responses ഉപയോഗിക്കുന്നു. ഇത് ഉപയോഗം വേഗമേറിയതാക്കുന്നു.

Server Sent Events (SSE) ആണ് ഇത് സാധ്യമാക്കുന്നത്.

എന്താണ് SSE? HTTP വഴി ഒരു സെർവറിൽ നിന്ന് ക്ലയന്റിലേക്ക് ഡാറ്റ സ്ട്രീം ചെയ്യുന്നതിനുള്ള ഒരു മാനദണ്ഡമാണ് (standard) SSE. തത്സമയം (real time) അപ്‌ഡേറ്റുകൾ നിങ്ങൾക്ക് നൽകാൻ ഇത് സെർവറിനെ അനുവദിക്കുന്നു.

ഇത് എങ്ങനെ പ്രവർത്തിക്കുന്നു: സെർവർ ചെറിയ ടെക്സ്റ്റ് ബ്ലോക്കുകൾ അയക്കുന്നു. ഈ ബ്ലോക്കുകളിൽ data, event, id, retry തുടങ്ങിയ ഫീൽഡുകൾ ഉപയോഗിക്കുന്നു. ഓരോ ബ്ലോക്കിനും ഇടയിൽ ഒരു ബ്ലാങ്ക് ലൈൻ ഉണ്ടായിരിക്കും.

ഉദാഹരണം: data: {"name": "Portal Gun", "price": 999.99}

SSE-യുടെ സാധാരണ ഉപയോഗങ്ങൾ:

  • AI chat streaming
  • Live notifications
  • Real time logs
  • System observability

SSE വരുന്നതിന് മുമ്പ്, അപ്‌ഡേറ്റുകൾ ലഭിക്കാൻ ഡെവലപ്പർമാർ പ്രധാനമായും രണ്ട് രീതികൾ ഉപയോഗിച്ചിരുന്നു:

  1. Short polling ക്ലയന്റ് സെർവറോട് ഡാറ്റ ആവശ്യപ്പെടുന്നു. ഡാറ്റ തയ്യാറല്ലെങ്കിൽ, സെർവർ ഒരു 'wait' മെസ്സേജ് അയക്കുന്നു. ക്ലയന്റ് കാത്തിരുന്ന് വീണ്ടും ചോദിക്കുന്നു. ജോലി പൂർത്തിയാകുന്നത് വരെ ഇത് ആവർത്തിച്ചുകൊണ്ടിരിക്കും.

  2. Long polling ക്ലയന്റ് സെർവറോട് ഡാറ്റ ആവശ്യപ്പെടുന്നു. ഡാറ്റ തയ്യാറാകുന്നത് വരെ അല്ലെങ്കിൽ ഒരു timeout സംഭവിക്കുന്നത് വരെ സെർവർ ആ റിക്വസ്റ്റ് ഓപ്പൺ ആയി വെക്കുന്നു. ഒരു മറുപടി ലഭിച്ചാലുടൻ ക്ലയന്റ് വീണ്ടും റിക്വസ്റ്റ് അയക്കേണ്ടതുണ്ട്.

Event streams തുടർച്ചയായ പ്രക്രിയകളെ കൈകാര്യം ചെയ്യുന്നു. ഈ പ്രക്രിയകൾ ഒരു പ്രത്യേക ക്രമം പാലിക്കുന്നു. ഒരു PDF നിർമ്മിക്കുന്നത് പോലുള്ള ലളിതമായ ജോലികൾ മുതൽ ബാങ്ക് ഇടപാടുകൾ പോലുള്ള സങ്കീർണ്ണമായ ജോലികൾ വരെ ഇതിൽ ഉൾപ്പെടുന്നു.

സെർവർ ക്ലയന്റുമായി ഒരു കമ്മ്യൂണിക്കേഷൻ ചാനൽ തുറക്കുന്നു. പ്രക്രിയ പൂർത്തിയാകുന്നത് വരെ ഇത് തുറന്നുതന്നെ വെക്കുന്നു.

Source: https://dev.to/rishini_dharan_t/understanding-server-sent-events-3mkd