Server-Sent-Events verstehen
Stellen Sie sich vor, Sie nutzen ChatGPT. Sie stellen eine Frage. Anstatt zu sehen, wie die Wörter nacheinander erscheinen, warten Sie 5 Sekunden, bis die gesamte Antwort auf einmal erscheint.
Diese Verzögerung fühlt sich langsam an. Sie ist frustrierend.
Um dies zu beheben, verwenden Entwickler Streaming-Antworten. Dies lässt die Erfahrung schnell wirken.
Server-Sent-Events (SSE) machen dies möglich.
Was ist SSE? SSE ist ein Standard zum Streaming von Daten von einem Server an einen Client via HTTP. Er ermöglicht es dem Server, Updates in Echtzeit an Sie zu pushen.
Funktionsweise: Der Server sendet kleine Textblöcke. Diese Blöcke verwenden Felder wie data, event, id und retry. Jeder Block wird durch eine Leerzeile getrennt.
Beispiel: data: {"name": "Portal Gun", "price": 999.99}
Häufige Anwendungsfälle für SSE:
- AI-Chat-Streaming
- Live-Benachrichtigungen
- Echtzeit-Logs
- System-Observability
Vor SSE verwendeten Entwickler zwei Hauptmethoden, um Updates zu erhalten:
Short Polling Der Client fragt den Server nach Daten an. Wenn die Daten noch nicht bereit sind, sendet der Server eine Wartemeldung. Der Client wartet und fragt erneut an. Dies wiederholt sich, bis die Aufgabe erledigt ist.
Long Polling Der Client fragt den Server nach Daten an. Der Server hält die Anfrage offen, bis die Daten bereit sind oder ein Timeout eintritt. Der Client muss die Anfrage unmittelbar nach Erhalt einer Antwort neu starten.
Event-Streams verarbeiten kontinuierliche Prozesse. Diese Prozesse folgen einer bestimmten Reihenfolge. Dies umfasst einfache Aufgaben wie das Erstellen eines PDFs oder komplexe Aufgaben wie Banktransaktionen.
Der Server öffnet einen Kommunikationskanal mit dem Client. Er hält diesen Kanal offen, bis der Prozess abgeschlossen ist.
Quelle: https://dev.to/rishini_dharan_t/understanding-server-sent-events-3mkd