Memahami Server Sent Events
Bayangkan anda menggunakan ChatGPT. Anda bertanya soalan. Daripada melihat perkataan muncul satu demi satu, anda perlu menunggu selama 5 saat untuk keseluruhan jawapan muncul sekaligus.
Kelewatan ini terasa perlahan. Ia terasa mengecewakan.
Untuk mengatasi masalah ini, pembangun menggunakan respons penstriman (streaming responses). Ini menjadikan pengalaman terasa pantas.
Server Sent Events (SSE) membolehkan perkara ini berlaku.
Apakah itu SSE? SSE ialah piawaian untuk penstriman data daripada pelayan kepada klien melalui HTTP. Ia membolehkan pelayan menghantar kemas kini kepada anda secara masa nyata.
Cara ia berfungsi: Pelayan menghantar blok teks kecil. Blok-blok ini menggunakan medan seperti data, event, id, dan retry. Setiap blok dipisahkan oleh baris kosong.
Contoh:
data: {"name": "Portal Gun", "price": 999.99}
Kegunaan biasa untuk SSE:
- Penstriman sembang AI
- Pemberitahuan langsung
- Log masa nyata
- Kebolehperhatian sistem
Sebelum SSE, pembangun menggunakan dua kaedah utama untuk mendapatkan kemas kini:
Short polling Klien meminta data daripada pelayan. Jika data belum sedia, pelayan akan menghantar mesej menunggu. Klien akan menunggu dan bertanya semula. Ini berulang sehingga tugasan selesai.
Long polling Klien meminta data daripada pelayan. Pelayan akan membiarkan permintaan tersebut terbuka sehingga data sedia atau berlaku masa tamat (timeout). Klien mesti memulakan semula permintaan sejurus selepas menerima respons.
Aliran peristiwa (Event streams) mengendalikan proses berterusan. Proses ini mengikut urutan tertentu. Ini termasuk tugasan mudah seperti mencipta PDF atau tugasan kompleks seperti transaksi bank.
Pelayan membuka saluran komunikasi dengan klien. Ia mengekalkan saluran ini terbuka sehingga proses selesai.
Sumber: https://dev.to/rishini_dharan_t/understanding-server-sent-events-3mkd