Αναφορά · AiThao

Μηνύματα σε πραγματικό χρόνο

Ένα μήνυμα θα πρέπει να εμφανίζεται στο άλλο τηλέφωνο τη στιγμή που το στέλνετε και δεν πρέπει να χαθεί ποτέ στη διαδρομή. Πρόκειται για δύο διαφορετικές εργασίες και το AiThao τις εκτελεί με αυτή τη σειρά: πρώτα αποθηκεύεται, μετά παραδίδεται.

Τι κάνει για εσάς

  • Τα μηνύματα και οι αντιδράσεις εμφανίζονται αμέσως στο τηλέφωνο του άλλου ατόμου και στις άλλες συσκευές σας.
  • Ένα τηλέφωνο που ήταν εκτός σύνδεσης συγχρονίζεται όταν επιστρέψει, χωρίς κενά.

Πώς λειτουργεί

Κάθε εφαρμογή διατηρεί μία πιστοποιημένη σύνδεση WebSocket ανοιχτή με τον διακομιστή. Όταν στέλνετε ένα μήνυμα, ο διακομιστής το γράφει πρώτα στη βάση δεδομένων και μόνο τότε δημοσιεύει ένα συμβάν. Αρκετές διεργασίες διακομιστή εκτελούνται παράλληλα και μεταβιβάζουν συμβάντα μεταξύ τους μέσω ενός κοινόχρηστου καναλιού δημοσίευσης/εγγραφής (pub/sub), οπότε όποια διεργασία διατηρεί τη σύνδεση του παραλήπτη το παραδίδει.

Εάν ο παραλήπτης είναι εκτός σύνδεσης, μια ειδοποίηση push αφυπνίζει το τηλέφωνό του και η εφαρμογή συγχρονίζεται από ένα αρχείο καταγραφής επανάληψης όταν επανασυνδεθεί. Σε μια συνομιλία με κρυπτογράφηση από άκρο σε άκρο, αυτό που ταξιδεύει μέσα από όλα αυτά είναι ένας κρυπτογραφημένος φάκελος που ο διακομιστής δεν μπορεί να διαβάσει.

Κάτω από το καπό

WebSocket · Node.js · TypeScript · PostgreSQL · Redis

Ερωτήσεις

Τι συμβαίνει αν στείλω ένα μήνυμα χωρίς σύνδεση;

Η εφαρμογή το στέλνει όταν επανέλθει η σύνδεση. Μόλις το λάβει ο διακομιστής, αποθηκεύεται πριν ειδοποιηθεί οποιοσδήποτε.

Πόσο καιρό διατηρεί ο διακομιστής ένα κρυπτογραφημένο μήνυμα;

Μέχρι κάθε τηλέφωνο του παραλήπτη να λάβει το αντίγραφό του, το πολύ 30 ημέρες.