Transactional Outbox
Salvare l'evento in una tabella outbox nella stessa transazione del dato di business e pubblicarlo successivamente con un relay affidabile.

ARGOMENTO · TASSONOMIA
Data ownership, transazioni distribuite, CQRS, outbox e consistenza.
12 capsuleSalvare l'evento in una tabella outbox nella stessa transazione del dato di business e pubblicarlo successivamente con un relay affidabile.
Scomporre il processo in transazioni locali coordinate da eventi o da un orchestratore; in caso di errore eseguire azioni compensative di business.
Ogni servizio possiede il proprio modello di persistenza e gli altri accedono ai suoi dati tramite API o eventi.
Costruire una proiezione locale denormalizzata, aggiornata da eventi o processi controllati, pensata per uno specifico read path.
Il coordinatore esegue una fase PREPARE e, se tutti i partecipanti sono pronti, una fase COMMIT; altrimenti ordina il ROLLBACK.
Ogni servizio reagisce a eventi di dominio e pubblica nuovi eventi, formando un flusso emergente.
Usare un orchestratore che mantiene lo stato della Saga e invia comandi ai partecipanti, decidendo step successivi e compensazioni.
Persistire la sequenza immutabile degli eventi di dominio e derivare lo stato applicando gli eventi in ordine.
Progettare il consumer affinché ripetere la stessa operazione produca lo stesso risultato osservabile e non side effect duplicati.
Più servizi condividono temporaneamente un database, idealmente con ownership di tabelle o schemi e regole rigorose.
Registrare gli identificativi dei messaggi processati in una inbox locale e usare tale registro per deduplicare.