Problem
Microservices need atomicity across boundaries. 2PC blocks, Saga compensates, Outbox guarantees publish. Need to choose right pattern.
Also known as: distributed-tx, 2pc, saga, outbox, compensation, eventual-consistency
Coordinate atomic operations across services without distributed locks: 2PC, Saga, Outbox, Eventual Consistency — trade-offs and implementation.
Microservices need atomicity across boundaries. 2PC blocks, Saga compensates, Outbox guarantees publish. Need to choose right pattern.
Low (Saga, Outbox) to Medium (2PC, Kafka)
High (Saga monitoring, compensation, stuck recovery)
High (eventual consistency, compensation design)
Saga stuck: compensation fails, manual intervention
Outbox relay down: events pile up, lag
2PC coordinator crash: participants blocked indefinitely
Compensation fails: data inconsistency, manual fix
Eventual consistency violation: read stale data