Lessico IT › Programmazione › Outbox pattern

Outbox pattern

Programmazione Svenska → Aggiornato: 2026-10-02

Risolve il problema della «doppia scrittura» (database + coda di messaggi) scrivendo l'evento in una tabella outbox nello stesso momento della modifica ai dati, e lasciando che sia un processo separato a pubblicarlo.

Il problema: con db.commit() seguito da queue.publish(), una delle due operazioni può riuscire mentre l'altra fallisce, lasciando il sistema in uno stato incoerente. La tabella outbox registra l'evento nella stessa transazione del database. Un processo di relay la interroga periodicamente (o la legge via CDC con Debezium) e pubblica su Kafka o RabbitMQ.

La garanzia è «almeno una volta», quindi i consumatori devono essere idempotenti. È uno standard dei moderni sistemi event-driven.

← Torna al lessico