Distributed Systems: Your Only Guarantee Is Inconsistency
summary
Month-close billing moves from a monolithic Ruby class to a background workers pipeline (Sidekick, Redis/Sequel, whenever cron gem) and cuts per-user time from ~30 minutes to <10 and full run time from up to two days to under eight hours while the Sidekick dashboard shows ~6 billion jobs processed. Asynchronous queuing causes race conditions (duplicate charges when payment worker runs late), so workers must check current balance at runtime or freeze the world in time in receipts to avoid surprises.
AI-written summary · about
chapters (7)
- 0:00Distributed systems intro
- 4:47Background workers for scaling
- 9:02Async workflows
- 12:59Async risks
- 15:46Adapting systems to change
- 18:56Self-healing architectures
- 21:03Embracing inconsistency
related talks
39mAsynchronous Processing for Fun and Profity
47mFixing Distributed Systems Fail
40mBilling the cloud: Real world stream processing
51mSix Little Lines of Fail
42mHow to build distributed systems in JavaScript
13mExplaining Distributed Systems Like I'm 5
38mLiving with Distributed Systems
38mEventual Consistency: A Question of Time and Expectations
