Wiederholte Anfragen und langsame Antworten

Das Netz bricht mitten in einer Operation weg. Drück den Knopf zweimal und sieh, was in der Datenbank landet — mit Idempotency-Key und ohne.

Tippe auf einen Teil des Schemas, um den Schritt zu öffnen.

Das ganze Bild

Ein Key pro Operation macht aus dem Retry das Lesen eines gespeicherten Ergebnisses. Ein asynchroner Vertrag macht aus dem Warten ein Abonnement. Beides handelt vom Gleichen: Das Netz ist unzuverlässig, und das ist der Normalfall, nicht die Ausnahme.

Was drinsteckt

  1. 1 Die Anfrage und die abgerissene Verbindung — Schalte «Netz nach der Abbuchung kappen» ein und drück den Knopf zweimal.
  2. 2 Was der Server tut — Den Key erfindet der Client, einen pro Operation, und wiederholt ihn bei jedem Retry.
  3. 3 Ohne Key: Duplikate — Retries machen nicht nur Menschen: Browser, Proxys und Job-Queues machen sie auch.
  4. 4 Mit Key: ein Datensatz — Die Zeile entsteht vor der eigentlichen Aktion, sonst rauschen zwei gleichzeitige Retries aneinander vorbei.
  5. 5 Langsame Antwort: 504 oder 202 — Der Strom braucht abgeschaltetes Proxy-Buffering, sonst kommt alles als ein Klumpen am Ende.

Interaktive Erklärungen

1 / 5