Server Sent Events (SSE)-ஐப் புரிந்துகொள்ளுதல்

நீங்கள் ChatGPT-ஐப் பயன்படுத்துகிறீர்கள் என்று கற்பனை செய்து கொள்ளுங்கள். நீங்கள் ஒரு கேள்வியைக் கேட்கிறீர்கள். வார்த்தைகள் ஒவ்வொன்றாகத் திரையில் தோன்றுவதற்குப் பதிலாக, முழுப் பதிலுக்காகவும் நீங்கள் 5 வினாடிகள் காத்திருக்க வேண்டியுள்ளது.

இந்தத் தாமதம் மெதுவாகத் தோன்றும். இது எரிச்சலூட்டும் விதமாக இருக்கும்.

இதைத் தவிர்க்க, டெவலப்பர்கள் streaming responses-ஐப் பயன்படுத்துகின்றனர். இது அனுபவத்தை வேகமானதாக உணரச் செய்கிறது.

Server Sent Events (SSE) இதைச் சாத்தியமாக்குகிறது.

What is SSE? SSE என்பது HTTP வழியாக ஒரு சர்வரிலிருந்து கிளையண்டிற்கு தரவை ஸ்ட்ரீமிங் (streaming) செய்வதற்கான ஒரு தரநிலையாகும். இது சர்வர் உங்களுக்கு நிகழ்நேரத்தில் (real time) தகவல்களைப் புதுப்பிக்க அனுமதிக்கிறது.

How it works: சர்வர் சிறிய உரைத் தொகுதிகளை அனுப்புகிறது. இந்தத் தொகுதிகள் data, event, id, மற்றும் retry போன்ற புலங்களைப் பயன்படுத்துகின்றன. ஒவ்வொரு தொகுதியும் ஒரு வெற்று வரியால் பிரிக்கப்பட்டுள்ளது.

Example: data: {"name": "Portal Gun", "price": 999.99}

Common uses for SSE:

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

SSE-க்கு முன்னதாக, டெவலப்பர்கள் தகவல்களைப் பெற இரண்டு முக்கிய முறைகளைப் பயன்படுத்தினர்:

  1. Short polling கிளையண்ட் சர்வரிடம் தரவைக் கேட்கிறது. தரவு தயாராக இல்லையென்றால், சர்வர் ஒரு காத்திருப்புச் செய்தியை அனுப்புகிறது. கிளையண்ட் காத்திருந்து மீண்டும் கேட்கிறது. வேலை முடியும் வரை இது தொடர்கிறது.

  2. Long polling கிளையண்ட் சர்வரிடம் தரவைக் கேட்கிறது. தரவு தயாராகும் வரை அல்லது timeout ஆகும் வரை சர்வர் அந்த கோரிக்கையைத் திறந்து வைத்திருக்கும். பதிலைப் பெற்றவுடன் கிளையண்ட் உடனடியாகத் தனது கோரிக்கையை மீண்டும் தொடங்க வேண்டும்.

Event streams தொடர்ச்சியான செயல்முறைகளைக் கையாளுகின்றன. இந்தச் செயல்முறைகள் ஒரு குறிப்பிட்ட வரிசையைப் பின்பற்றுகின்றன. இதில் PDF உருவாக்குவது போன்ற எளிய பணிகள் அல்லது வங்கிப் பரிவர்த்தனைகள் போன்ற சிக்கலான பணிகள் அடங்கும்.

சர்வர் கிளையண்டுடன் ஒரு தகவல் தொடர்பு சேனலைத் திறக்கிறது. செயல்முறை முடியும் வரை இந்தச் சேனலைத் திறந்தே வைத்திருக்கும்.

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