Making Swiss Cheese of Ticket Sales
summary
Custom ticketing system built on TypeScript React Node Express MySQL on Kubernetes collapses two minutes into a launch, selling one ticket in the first 100 minutes. Root causes are concrete: exhausted DB connection pools, payment-record creation inside a transaction that disappears on container restart, CPU-blocking PDF generation, and nginx 60s timeouts that let customers get charged up to 12 times. Fixes include raising MySQL limits and CPU, consolidating transactions, disabling row locks, offloading PDF work, and heavier load testing — next launch succeeds.
AI-written summary · about
chapters (9)
- 0:00Start
- 0:17Making Swiss Cheese of Ticket Sales
- 5:43Architecture for the Ticketing System
- 7:11The Swiss Cheese Model
- 16:31Diagnosing Optimizing Sql
- 22:06Resource Limits
- 23:51Why Did We Have So Many Users Trying To Buy Tickets
- 26:58Human Factors
- 29:40Planning for Failure Using Chaos Engineering
related talks
31mDOES14 - Shakeel Sorathia - Ticketmaster
40mZero-downtime payment platforms
35mDo the holes in Swiss cheese leak abstractions?
08mMonitoring Errors and Slowdowns with a JS Frontend and Node Backend
38mBuilding a high performing Passenger Information System
29mSupercharging Node with Kraken
28m193 Easy Steps to DevOpsing Your Monolith
34mNightmare Before Best Practices
