Was es für Sie tut
- Nachrichten und Reaktionen erscheinen sofort auf dem Telefon der anderen Person und auf Ihren anderen Geräten.
- Ein Telefon, das offline war, holt beim Zurückkommen alles nach, ohne Lücken.
Wie es funktioniert
Jede App hält eine authentifizierte WebSocket-Verbindung zum Server offen. Wenn Sie eine Nachricht senden, schreibt der Server sie zuerst in die Datenbank und veröffentlicht erst dann ein Ereignis. Mehrere Serverprozesse laufen nebeneinander und reichen Ereignisse über einen gemeinsamen Publish/Subscribe-Kanal weiter, sodass der Prozess zustellt, der die Verbindung des Empfängers hält.
Ist der Empfänger offline, weckt eine Push-Benachrichtigung sein Telefon, und die App holt beim Wiederverbinden aus einem Wiedergabeprotokoll nach. In einem Ende-zu-Ende verschlüsselten Chat läuft durch all das ein verschlüsselter Umschlag, den der Server nicht lesen kann.
Unter der Haube
WebSocket · Node.js · TypeScript · PostgreSQL · Redis
Häufige Fragen
Was passiert, wenn ich ohne Verbindung eine Nachricht sende?
Die App sendet sie, sobald die Verbindung zurück ist. Hat der Server sie, wird sie gespeichert, bevor jemand benachrichtigt wird.
Wie lange behält der Server eine verschlüsselte Nachricht?
Bis jedes Telefon des Empfängers seine Kopie hat, höchstens 30 Tage.