Capsule Informatiche di Lello De Luca
← Tutte le Capsule

Idempotent Consumer

Dati e consistenzaApprofondimento

Progettare il consumer affinché ripetere la stessa operazione produca lo stesso risultato osservabile e non side effect duplicati.

Il problema

Retry e redelivery fanno sì che una stessa richiesta o evento possa essere eseguito più volte.

Il pattern

Progettare il consumer affinché ripetere la stessa operazione produca lo stesso risultato osservabile e non side effect duplicati.

Come funziona

Si può usare una idempotency key, un vincolo univoco, una inbox o un controllo sullo stato del dominio. L'idempotenza deve includere anche chiamate esterne, quando possibile.

Esempio sanitario

Benefici

  • Rende sicuri retry e redelivery
  • Riduce errori duplicati
  • Migliora resilienza

Trade-off

  • Richiede identificatori e stato di deduplica
  • Non tutti i side effect sono facilmente idempotenti

Quando usarlo

Per comandi remoti, webhook e consumer di messaggi.

Quando evitarlo

Quando si assume erroneamente exactly-once end-to-end senza supporto reale.

Pattern correlati

RIFERIMENTI

Fonti e riferimenti

ADT - Architettura tecnica e pattern distribuiti

Capsule Informatiche · Materiale progettuale

Riepilogo architetture piattaforma enterprise sanitaria

Capsule Informatiche · Materiale progettuale