Distributed Transactions — Interactive Simulator
Step through four real-world patterns for keeping data consistent across services
1️⃣ Two-Phase Commit
2️⃣ Saga Pattern
3️⃣ Transactional Outbox
4️⃣ Idempotency + Reconciliation
CLIENT
Transfer ₹100
COORDINATOR
Txn:
TXN-1001
Decision:
Pending
Phase:
Begin
Timeout:
10s
◀ Previous
Next ▶
Reset
📖 What's happening?
🧠 Why is this necessary?
💥 If the coordinator crashes now...
📝 Live Event Log
💾 Database View
Before
Pending
Committed
₹1000
-
-
CLIENT
Place order for 1 item
SAGA TRACKER
Saga ID:
SAGA-2001
Status:
-
Current Step:
-
◀ Previous
Next ▶
Reset
📖 What's happening?
🧠 Why is this necessary?
💥 What if a step fails?
📝 Live Event Log
CLIENT
POST /orders
STATUS PANEL
Order ID:
ORD-501
DB Txn:
-
Outbox Row:
-
◀ Previous
Next ▶
Reset
📖 What's happening?
🧠 Why is this necessary?
💥 What if the relay crashes now?
📝 Live Event Log
CLIENT
Pay ₹500 for order ORD-501
REQUEST TRACKER
Idempotency-Key:
abc-123
Attempt #:
-
Status:
-
◀ Previous
Next ▶
Reset
📖 What's happening?
🧠 Why is this necessary?
💥 What could still go wrong?
📝 Live Event Log