Τι κάνει για εσάς
- Τα μηνύματα και οι αντιδράσεις εμφανίζονται αμέσως στο τηλέφωνο του άλλου ατόμου και στις άλλες συσκευές σας.
- Ένα τηλέφωνο που ήταν εκτός σύνδεσης συγχρονίζεται όταν επιστρέψει, χωρίς κενά.
Πώς λειτουργεί
Κάθε εφαρμογή διατηρεί μία πιστοποιημένη σύνδεση WebSocket ανοιχτή με τον διακομιστή. Όταν στέλνετε ένα μήνυμα, ο διακομιστής το γράφει πρώτα στη βάση δεδομένων και μόνο τότε δημοσιεύει ένα συμβάν. Αρκετές διεργασίες διακομιστή εκτελούνται παράλληλα και μεταβιβάζουν συμβάντα μεταξύ τους μέσω ενός κοινόχρηστου καναλιού δημοσίευσης/εγγραφής (pub/sub), οπότε όποια διεργασία διατηρεί τη σύνδεση του παραλήπτη το παραδίδει.
Εάν ο παραλήπτης είναι εκτός σύνδεσης, μια ειδοποίηση push αφυπνίζει το τηλέφωνό του και η εφαρμογή συγχρονίζεται από ένα αρχείο καταγραφής επανάληψης όταν επανασυνδεθεί. Σε μια συνομιλία με κρυπτογράφηση από άκρο σε άκρο, αυτό που ταξιδεύει μέσα από όλα αυτά είναι ένας κρυπτογραφημένος φάκελος που ο διακομιστής δεν μπορεί να διαβάσει.
Κάτω από το καπό
WebSocket · Node.js · TypeScript · PostgreSQL · Redis
Ερωτήσεις
Τι συμβαίνει αν στείλω ένα μήνυμα χωρίς σύνδεση;
Η εφαρμογή το στέλνει όταν επανέλθει η σύνδεση. Μόλις το λάβει ο διακομιστής, αποθηκεύεται πριν ειδοποιηθεί οποιοσδήποτε.
Πόσο καιρό διατηρεί ο διακομιστής ένα κρυπτογραφημένο μήνυμα;
Μέχρι κάθε τηλέφωνο του παραλήπτη να λάβει το αντίγραφό του, το πολύ 30 ημέρες.