Scaling Stateful Services
The accompanying repository for The ScalingStatefulServices talk
- V1 StrangeLoop 2015: Video, Slides, High Scalability Article, InfoQ Article
- V2 Craft Conf 2016: Slides
Abstract
The Stateless Service design principle has become ubiquitous in the tech industry for creating horizontally scalable services. However our applications do have state, we just have moved all of it to caches and databases. Today as applications are becoming more data intensive and request latencies are expected to be incredibly low, we’d like the benefits of stateful services, like data locality and sticky consistency. In this talk I will address the benefits of stateful services, how to build them so that they scale, and discuss distributed and scalable services in the real world that implement these techniques successfully.
Resources
- Strong Consistency Models by Kyle Kingsbury
- Consistency Diagram by Peter Bailis et al
- Eventual Consistency Revisited by Werner Vogel
- Gossip Protocol
- Epidemeic Algorithms for Replicated Database Maintenance
- Consistent hashing and random trees: Distributed caching protocols for relieving hot spots on the World Wide Web
- Dynamo: Amazon's Highly Available Key Value Store uses Consistent Hashing
- Distributed Hash Table
- Suba: Diving into Data at Facebook
- Twitter Nuthatch Service from Observability at Twitter: Technical Overview, part 1
- Uber Ringpop
- Uber's Ringpop and the Fight for Flap Dampening
- SWIM:Scalable Weakly-consistnet Infection-style Process Group Membership Protocol
- Microsoft Orleans
- Orleans: Distributed Virtual Actors for Programmability and Scalability
- Builiding the Halo 4 Services with Orleans
- Artificial Intelligence A Universal Modular ACTOR Formalism for Artificial Intelligence
- Fast Database Restarts at Facebook
Bio
Caitie McCaffrey is a Backend Brat and Distributed Systems Diva at Twitter. Prior to that she spent the majority of her career building large scale services and systems that power the entertainment industry at 343 Industries, Microsoft Game Studios, and HBO. Caitie has a degree in Computer Science from Cornell University, and has worked on several video games including Gears of War 2, Gears of War 3, Halo 4, and Halo 5 She maintains a blog at CaitieM.com and frequently discusses technology on Twitter @Caitie