𝗘𝘃𝗲𝗻𝘁 𝗦𝘁𝗿𝗲𝗮𝗺, 𝗦𝗵𝗼𝗿𝘁 𝗣𝗼𝗹𝗹𝗶𝗻𝗴, 𝗮𝗻𝗱 𝗟𝗼𝗻𝗴 𝗣𝗼𝗹𝗹𝗶𝗻𝗴
การดึงข้อมูลจำนวนมหาศาลสร้างปัญหาให้กับผู้ใช้งาน หากผู้ใช้ต้องรอนานเกินไปกว่าจะได้รับคำตอบ จะทำให้รู้สึกว่าระบบทำงานช้า คุณจึงต้องใช้วิธีการที่แตกต่างกันในการจัดการกับคำขอข้อมูลเหล่านี้
Short Polling Client จะส่งคำขอไปยัง Server เป็นระยะๆ ตามช่วงเวลาที่กำหนด โดย Server จะตอบกลับทุกคำขอทันที เพื่อแจ้งให้ Client ทราบว่ามีข้อมูลใหม่หรือไม่ วิธีนี้ใช้ทรัพยากรสูงเนื่องจากการส่งคำขออย่างต่อเนื่อง
Long Polling Client จะส่งคำขอไปยัง Server โดย Server จะถือคำขอนั้นค้างไว้จนกว่าจะมีข้อมูลใหม่เข้ามาหรือจนกว่าจะเกิด timeout วิธีนี้ช่วยลดจำนวนการตอบกลับที่ว่างเปล่าลงได้
Event Stream (SSE) ชุดข้อมูลขนาดใหญ่ทำให้ต้องใช้เวลารอนาน หากคุณมีข้อมูลถึง 100,000 แถว การส่งข้อมูลทั้งหมดในคราวเดียวจะทำให้ระบบช้า คุณสามารถปรับปรุงประสบการณ์ของผู้ใช้งานได้โดยการส่งข้อมูลเป็นส่วนๆ (chunks)
Event Stream ทำงานดังนี้:
- Client เปิดการเชื่อมต่อกับ Server
- การเชื่อมต่อจะยังคงเปิดค้างไว้
- Server จะส่งข้อมูลส่วนเล็กๆ ออกมาเมื่อข้อมูลนั้นพร้อม
- ผู้ใช้จะเห็นผลลัพธ์ได้ทันทีโดยไม่ต้องรอให้ข้อมูลครบทั้งชุด
วิธีนี้จะรักษาการเชื่อมต่อให้ทำงานอยู่จนกว่า Server จะส่งเหตุการณ์ (events) ทั้งหมดเสร็จสิ้น ซึ่งช่วยให้แอปพลิเคชันรู้สึกรวดเร็วและตอบสนองได้ดี
ที่มา: https://dev.to/anubama_i/event-stream-short-polling-long-polling-54n