Brian Pitts

Capacity and Stability Patterns

Oct 2017

At Eventbrite, engineers are tasked with building systems that can withstand dramatic spikes in load when popular events go on sale. There are patterns that help us do this: Bulkheads: partitioning systems to prevent cascading failures Canary testing: Slowly rolling out new code Graceful degradation: turning functionality on and off in response to failures or load Rate limiting: controlling the amount of work you accept Timeouts: limiting time you wait for a request you made to complete Load shedding: purposefully not handling some requests in order to reserve resources for others Caching: saving and re-serving results to lessen expensive requests Planning: getting the resources you need in place, before you need them In this talk you learn about each of those patterns, how Eventbrite has adopted them, and how to implement them within your own code and infrastructure.


0 comment