pa-05 — References

Outbox & dual-write

  • Chris Richardson, microservices.io — Transactional Outbox, Polling Publisher, Transaction Log Tailing. https://microservices.io/patterns/data/transactional-outbox.html
  • Confluent — Transactional Outbox with Kafka + Debezium (CDC).
  • Designing Data-Intensive Applications (Kleppmann) — the dual-write problem; change-data-capture; deriving streams from databases.
  • Debezium docs — change-data-capture (the CDC alternative to polling).

Sagas & distributed transactions

  • Garcia-Molina & Salem, Sagas (1987) — the original paper.
  • Chris Richardson — Saga pattern (orchestration vs choreography). https://microservices.io/patterns/data/saga.html
  • Caitie McCaffrey, Distributed Sagas (talk) — sagas done right.
  • Pat Helland, Life Beyond Distributed Transactions — why 2PC doesn't scale and what to do instead.

Delivery semantics

  • "You Cannot Have Exactly-Once Delivery" (Tyler Treat).
  • Kafka transactions / idempotent producer docs (exactly-once within the broker boundary).
  • pa-02 (idempotency keys), pa-03 (events/choreography), pa-04 (the log the relay publishes to), pa-09 (failed- compensation as an SLO concern), db-03 (WAL = what CDC tails), db-13/16 (transactions & consistency sagas relax).