Menu

Asset

Aspettative su fallimenti e compatibilità

Un buon contratto di integrazione definisce cosa accade durante retry, fallimenti parziali, cambi di versione e modifiche incompatibili del payload.

Tipo
Pratica

Un contratto comprende failure e cambiamento

Un'integrazione ben definita non descrive soltanto il payload valido. Deve chiarire cosa significa un rifiuto, quando un esito resta sconosciuto, come vengono gestiti retry e duplicati e quali modifiche possono essere adottate senza coordinare simultaneamente tutti i consumer.

Rendere esplicita la semantica degli esiti

Distinguere errori di business definitivi, guasti tecnici ritentabili ed esiti incerti. Un timeout non dimostra che l'operazione non sia avvenuta: per gli effetti non reversibili servono correlazione, chiavi idempotenti e un percorso di riconciliazione prima di avviare una nuova intenzione.

La compatibilità va oltre lo schema

Nuovi valori enum, significati modificati, ordinamento diverso o cambiamenti nel comportamento di errore possono rompere i consumer pur lasciando formalmente valido il contratto. Specificare owner delle modifiche, versione, periodo di transizione e prove di compatibilità sui comportamenti critici.

Pagamento riuscito con risposta perduta

Checklist del failure contract

Tag