- Protokol streaming tahan lama berbasis HTTP yang mengirimkan data secara andal ke browser web, mobile, dan klien native
- Mendukung cara yang sederhana dan teruji untuk membuat dan mengonsumsi stream yang menjamin urutan dan dapat diputar ulang
- Fitur melanjutkan berbasis offset memungkinkan penerimaan dilanjutkan dari titik terputus meski koneksi sempat terputus
- Dapat digunakan untuk berbagai skenario real-time seperti streaming percakapan AI, sinkronisasi database, pengeditan kolaboratif, event sourcing, dan eksekusi workflow
- Mengatasi masalah ketidakstabilan koneksi yang dimiliki WebSocket dan SSE
- Desain aman saat refresh memungkinkan dilanjutkan dari posisi yang sama setelah berpindah tab atau aplikasi masuk ke background
- Berbagi stream berbasis URL memungkinkan banyak pengguna menonton stream yang sama secara bersamaan
- Struktur ramah CDN yang hemat biaya memungkinkan jutaan koneksi simultan ditangani dari satu origin
- Mendukung sinkronisasi multi-perangkat dan multi-tab
- Fitur protokol
- Universal: Dapat digunakan di semua lingkungan tempat HTTP berjalan
- Simple: Berbasis HTTP standar, tidak memerlukan protokol kustom terpisah
- Resumable: Mendukung pembacaan dan pelanjutan berbasis offset
- Real-time: Mendukung tailing real-time dengan mode Long-poll dan SSE
- Economical: Memberikan skalabilitas yang efisien melalui caching CDN
- Composable: Dapat digunakan untuk membangun lapisan abstraksi yang lebih tinggi (misalnya mesin sinkronisasi real-time Postgres milik Electric)
- Karakteristik performa
- Latensi di bawah 15ms, menangani jutaan subscriber simultan, dan skalabilitas horizontal
- Struktur URL berbasis offset memaksimalkan pemanfaatan cache CDN
- Hubungan dengan sistem streaming backend
- Melengkapi sistem messaging antar-server seperti Kafka, RabbitMQ, dan Kinesis
- Durable Streams menangani lapisan transport ke klien
- Server melakukan autentikasi dan transformasi data, lalu Durable Streams melakukan fan-out melalui HTTP
- Perbedaan dengan SSE dan WebSocket
- SSE/WebSocket hanya menyediakan koneksi sederhana, sedangkan Durable Streams menyediakan arsitektur berbasis log tahan lama
- Menggabungkan keunggulan log terstandarisasi seperti pelanjutan berbasis offset, pemutaran ulang riwayat, dan dukungan multi-reader
- Fleksibilitas implementasi
- Server dapat dibuat dalam bahasa apa pun selama mengimplementasikan HTTP API, penyimpanan tahan lama, dan pengelolaan offset
- Tersedia server referensi Node.js serta alat uji kesesuaian dan benchmark
- Kasus penggunaan utama
- Sinkronisasi database real-time: men-stream perubahan Postgres ke web dan mobile
- Sistem event sourcing: pemulihan status berbasis log event yang tahan lama
- Streaming percakapan AI: stream token LLM dapat dilanjutkan tanpa terputus
- Protokol berlisensi Apache 2.0 yang telah divalidasi tim Electric SQL selama 1,5 tahun dalam layanan produksi
Belum ada komentar.