𝗘𝘃𝗲𝗻𝘁 𝗦𝘁𝗿𝗲𝗮𝗺, 𝗦𝗵𝗼𝗿𝘁 𝗣𝗼𝗹𝗹𝗶𝗻𝗴, 𝗮𝗻𝗱 𝗟𝗼𝗻𝗴 𝗣𝗼𝗹𝗹𝗶𝗻𝗴

การดึงข้อมูลจำนวนมหาศาลสร้างปัญหาให้กับผู้ใช้งาน หากผู้ใช้ต้องรอนานเกินไปกว่าจะได้รับคำตอบ จะทำให้รู้สึกว่าระบบทำงานช้า คุณจึงต้องใช้วิธีการที่แตกต่างกันในการจัดการกับคำขอข้อมูลเหล่านี้

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