Richieste ripetute e risposte lente

La rete cade a metà di un'operazione. Premi il pulsante due volte e guarda che cosa finisce nel database, con la chiave di idempotenza e senza.

Tocca una parte dello schema per aprire il passo.

Il quadro completo

Una chiave per operazione trasforma il tentativo ripetuto nella lettura di un risultato già salvato. Un contratto asincrono trasforma l'attesa in un abbonamento. Entrambi parlano della stessa cosa: la rete non è affidabile, ed è la normalità, non l'eccezione.

Che cosa contiene

  1. 1 La richiesta e la connessione caduta — Attiva «rompi la rete dopo l'addebito» e premi il pulsante due volte.
  2. 2 Che cosa fa il server — La chiave la inventa il client, una per operazione, e la ripete a ogni nuovo tentativo.
  3. 3 Senza chiave: duplicati — I tentativi non li fanno solo le persone: li fanno browser, proxy e code di lavori.
  4. 4 Con la chiave: un solo record — La riga nasce prima dell'azione, altrimenti due tentativi simultanei si superano a vicenda.
  5. 5 Risposta lenta: 504 o 202 — Il flusso richiede il buffering del proxy disattivato, altrimenti arriva tutto in blocco alla fine.

Spiegazioni interattive

1 / 5