Applying the Saga Pattern
summary
Implements the saga pattern to process Halo 4 game stats across up to 32 player partitions, using Azure Table for per-player storage and Azure Service Bus as the durable saga log, with Orleans grains acting as the Saga Execution Coordinator. Claims forward recovery (never rolling back), idempotent compensating actions, and indefinite retries for failures; replays failed player writes rather than aborting the whole saga. The approach proves workable at scale for game stats processing.
AI-written summary · about
chapters (37)
- 0:00Introduction
- 3:21Stateless Systems
- 3:35Consistency
- 4:44Twophase commit
- 5:00Prepare phase
- 5:23Commit phase
- 5:56Failure conditions
- 6:44spanner
- 8:15can we do better
- 8:46where Sagas come from
- 9:06what is a Saga
- 10:32compensating transactions
- 11:25successful
- 11:54atomicity
- 12:15failure management
- 12:51single database
- 13:14Saga execution coordinator
- 13:35Saw log
- 13:52Successful Saga Example
- 14:37Failed Sagas
- 15:01Successful Sagas
- 16:03Distributed Systems
- 17:45Distributed Saga
- 18:05Execution Coordinator
- 18:38Starting a Saga
- 20:00When to Compensate
- 23:33Request Messaging Semantics
- 23:59Application Semantics
- 24:21Distributed Sagas
- 24:55Master Chief
- 25:20Halo Statistics
- 26:39Halo Actors
- 28:33Forward Recovery
- 29:22Game Drain
- 30:53Recovery
- 31:31Tradeoffs
- 32:56Recap
related talks
17mSaga Pattern for Distributed Transactions
51mIntroducing Saga Pattern in Microservices with Spring Statemachine
01h 01mHow to build real-world applications with Orleans
30mData Consistency Patterns in Cloud Native Applications
59mIntroduction to project Orleans for your distributed applications
38mEpic Programming: How We Write Clear, Maintainable Sagas
27mBuilding Microservices Architecture The Right Way based on Saga Pattern
47mSaga Pattern Made Easy
