Saturday 10:30 a.m.–11:20 a.m.

Capacity and Stability Patterns

Brian Pitts

Audience level:
Intermediate

Description

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. Come learn about these patterns, how Eventbrite has adopted them, and how to implement them within your own code and infrastructure.

Abstract

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.