Server Sent Events समजून घेणे
कल्पना करा की तुम्ही ChatGPT वापरत आहात. तुम्ही एक प्रश्न विचारता. शब्द एक-एक करून येण्याऐवजी, संपूर्ण उत्तर एकाच वेळी येण्यासाठी तुम्हाला ५ सेकंद वाट पाहावी लागते.
हा विलंब संथ वाटतो. यामुळे त्रासदायक वाटते.
हे सुधारण्यासाठी, डेव्हलपर्स स्ट्रीमिंग रिस्पॉन्स (streaming responses) वापरतात. यामुळे अनुभव वेगवान वाटतो.
Server Sent Events (SSE) मुळे हे शक्य होते.
What is SSE? SSE हा HTTP द्वारे सर्व्हरकडून क्लायंटकडे डेटा स्ट्रीम करण्यासाठीचा एक मानक (standard) आहे. यामुळे सर्व्हर तुम्हाला रिअल-टाइममध्ये अपडेट्स पाठवू शकतो.
How it works:
सर्व्हर लहान मजकूर ब्लॉक्स (text blocks) पाठवतो. या ब्लॉक्समध्ये data, event, id, आणि retry सारखी फील्ड्स वापरली जातात. प्रत्येक ब्लॉक एका रिकाम्या ओळीने वेगळा केला जातो.
Example:
data: {"name": "Portal Gun", "price": 999.99}
Common uses for SSE:
- AI चॅट स्ट्रीमिंग
- लाईव्ह नोटिफिकेशन्स
- रिअल-टाइम लॉग्स
- सिस्टम ऑब्झर्व्हेबिलिटी (System observability)
SSE च्या आधी, डेव्हलपर्स अपडेट्स मिळवण्यासाठी दोन मुख्य पद्धती वापरत असत:
Short polling क्लायंट सर्व्हरकडे डेटासाठी विचारणा करतो. जर डेटा तयार नसेल, तर सर्व्हर 'वेट' (wait) मेसेज पाठवतो. क्लायंट वाट पाहतो आणि पुन्हा विचारणा करतो. काम पूर्ण होईपर्यंत ही प्रक्रिया पुन्हा पुन्हा घडते.
Long polling क्लायंट सर्व्हरकडे डेटासाठी विचारणा करतो. जोपर्यंत डेटा तयार होत नाही किंवा 'टाइमआउट' (timeout) होत नाही, तोपर्यंत सर्व्हर विनंती (request) खुली ठेवतो. प्रतिसाद मिळाल्यानंतर क्लायंटला त्वरित विनंती पुन्हा सुरू करावी लागते.
इव्हेंट स्ट्रीम्स (Event streams) सतत चालणाऱ्या प्रक्रिया हाताळतात. या प्रक्रिया एका विशिष्ट क्रमाने चालतात. यामध्ये PDF तयार करणे यांसारख्या साध्या कामांपासून ते बँक व्यवहारांसारख्या जटिल कामांचा समावेश होतो.
सर्व्हर क्लायंटसोबत एक कम्युनिकेशन चॅनेल (communication channel) उघडतो. प्रक्रिया पूर्ण होईपर्यंत तो हे चॅनेल उघडे ठेवतो.
Source: https://dev.to/rishini_dharan_t/understanding-server-sent-events-3mkd