Distributed Transactions — Interactive Simulator

Step through four real-world patterns for keeping data consistent across services

CLIENT
Transfer ₹100
COORDINATOR
Txn: TXN-1001
Decision: Pending
Phase: Begin
Timeout: 10s

📖 What's happening?

🧠 Why is this necessary?

💥 If the coordinator crashes now...

📝 Live Event Log


💾 Database View

BeforePendingCommitted
₹1000--
CLIENT
Place order for 1 item
SAGA TRACKER
Saga ID: SAGA-2001
Status: -
Current Step: -

📖 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: -

📖 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: -

📖 What's happening?

🧠 Why is this necessary?

💥 What could still go wrong?

📝 Live Event Log