𝗘𝘃𝗲𝗻𝘁 𝗦𝘁𝗿𝗲𝗮𝗺, 𝗦𝗵𝗼𝗿𝘁 𝗣𝗼𝗹𝗹𝗶𝗻𝗴, 𝗮𝗻𝗱 𝗟𝗼𝗻𝗴 𝗣𝗼𝗹𝗹𝗶𝗻𝗴
Việc truy xuất lượng dữ liệu lớn gây ra nhiều vấn đề cho người dùng. Nếu người dùng phải chờ đợi phản hồi quá lâu, trải nghiệm sẽ có cảm giác chậm chạp. Bạn có thể sử dụng các phương pháp khác nhau để xử lý các yêu cầu dữ liệu này.
Short Polling Client gửi các yêu cầu đến server theo các khoảng thời gian cố định. Server phản hồi ngay lập tức cho mỗi yêu cầu. Nó thông báo cho client biết liệu có dữ liệu mới hay không. Phương pháp này tiêu tốn nhiều tài nguyên do các yêu cầu được gửi liên tục.
Long Polling Client gửi một yêu cầu đến server. Server sẽ giữ yêu cầu đó ở trạng thái mở cho đến khi có dữ liệu mới hoặc xảy ra tình trạng hết thời gian chờ (timeout). Điều này giúp giảm số lượng các phản hồi trống.
Event Stream (SSE) Các tập dữ liệu lớn gây ra thời gian chờ đợi lâu. Nếu bạn có 100.000 dòng dữ liệu, việc gửi tất cả cùng một lúc sẽ rất chậm. Bạn có thể cải thiện trải nghiệm người dùng bằng cách gửi dữ liệu theo từng phần (chunks).
Event Stream hoạt động như sau:
- Client mở một kết nối tới server.
- Kết nối được giữ mở.
- Server gửi các phần dữ liệu nhỏ ngay khi chúng sẵn sàng.
- Người dùng thấy kết quả ngay lập tức thay vì phải chờ đợi toàn bộ tập dữ liệu.
Phương pháp này giữ cho kết nối luôn hoạt động cho đến khi server hoàn tất việc gửi tất cả các sự kiện. Nó giúp các ứng dụng có cảm giác nhanh và phản hồi tốt hơn.
Nguồn: https://dev.to/anubama_i/event-stream-short-polling-long-polling-54n