Apa yang dilakukannya untuk anda
- Mesej dan reaksi muncul serta-merta di telefon orang lain dan di peranti anda yang lain.
- Telefon yang luar talian menyusul apabila ia kembali, tanpa jurang.
Cara ia berfungsi
Setiap aplikasi membuka satu sambungan WebSocket yang disahkan ke pelayan. Apabila anda menghantar mesej, pelayan menulisnya ke pangkalan data dahulu dan hanya kemudian menerbitkan peristiwa. Beberapa proses pelayan berjalan seiring dan menghantar peristiwa kepada satu sama lain melalui saluran terbit/langgan bersama, jadi proses mana yang memegang sambungan penerima akan menghantarnya.
Jika penerima luar talian, pemberitahuan tolak membangunkan telefonnya, dan aplikasi menyusul daripada log main semula apabila ia bersambung semula. Dalam sembang yang disulitkan hujung ke hujung, yang bergerak melalui semua ini ialah sampul tersulit yang tidak dapat dibaca oleh pelayan.
Di sebalik tabir
WebSocket · Node.js · TypeScript · PostgreSQL · Redis
Soalan lazim
Apa yang berlaku jika saya menghantar mesej tanpa sambungan?
Aplikasi menghantarnya apabila sambungan kembali. Sebaik sahaja pelayan menerimanya, ia disimpan sebelum sesiapa diberitahu.
Berapa lama pelayan menyimpan mesej tersulit?
Sehingga setiap telefon penerima mendapat salinannya, paling lama 30 hari.