Skip to main content

ADR-004: Transactional Outbox

Status: Accepted

Context

Cannot atomically commit DB and publish to Kafka

Decision

Outbox table written in same transaction, async relay publishes

Alternatives

Dual writes, 2PC

Tradeoffs

Latency vs consistency

Consequences

Guaranteed at-least-once delivery