~/talk

Life Beyond Distributed Transactions: An Apostate's Implementation

Talkat NDC London 2019 · 2019-01-30..02-01· [microservices, databases]
slides:none on file

Argues distributed transactions are impractical in the cloud and implements Pat Helland’s idea by making the transactional unit a single-document transactional boundary and embedding an outbox/inbox per entity. Uses Azure Cosmos DB for storage, RabbitMQ for messaging, a dispatcher, a unit-of-work identity map, and a Cosmos change feed to enqueue retries. Demonstrates idempotent handlers that check message IDs, a 15‑second retry window for manufacturing SLAs, and working sample code on GitHub.

AI-written summary · about

  1. 0:00Introduction
  2. 5:26Distributed Transactions
  3. 5:54Two Phase Commit Protocol
  4. 11:46Transactions within a single resource
  5. 16:06Pat Helland
  6. 17:04Transactional Boundary
  7. 21:31Code Example
  8. 24:09Dispatch
  9. 25:51Order Request
  10. 31:57Indirection
  11. 33:31Retry
  12. 43:06Unit of Work
  13. 47:22Triggers
  14. 48:54Demo
  15. 57:25Coordinate Transactions
  16. 59:00Microservices
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.