Asset
Transactional Outbox: rendere atomici stato ed evento
Il Transactional Outbox registra l’evento nella stessa transazione del cambiamento di business e ne demanda la pubblicazione affidabile a un processo separato.
Quando un servizio deve aggiornare il proprio stato e pubblicare un evento, eseguire prima il commit e poi chiamare il broker crea una finestra di fallimento. Il Transactional Outbox elimina questa ambiguità scrivendo il cambiamento di dominio e un record outbox nella stessa transazione locale. Un relay pubblica successivamente i record e gestisce retry e avanzamento. Il pattern non garantisce exactly-once end-to-end: il relay può pubblicare duplicati, quindi i consumer devono essere idempotenti. Le decisioni principali riguardano ordering, partizionamento, polling o CDC, retention, osservabilità e record bloccati.