System Design · Senior · Frage 41 von 75
Wie liefert man das Ergebnis einer schweren Operation (ein Berichtsexport von 5 Minuten)?
- 1Die HTTP-Anfrage die ganzen 5 Minuten offen halten, bis die Datei fertig ist
- 2Den Nutzer bitten, den Tab nicht zu schließen und zu warten
- 3Den Job annehmen (202 Accepted), im Hintergrund verarbeiten und bei Fertigstellung benachrichtigen
Antwort zeigen
Richtige Antwort: Den Job annehmen (202 Accepted), im Hintergrund verarbeiten und bei Fertigstellung benachrichtigen
Erklärung
Der Server liefert eine Job-ID, und der Client verfolgt den Status (Polling, SSE) oder bekommt eine Benachrichtigung mit Link zur Datei im Speicher. Lange HTTP-Anfragen werden von Proxys und Load Balancern abgeschnitten und skalieren schlecht.