Building Scalable Stateful Services
summary
Argues that moving state into services yields data locality and lower latency, and that sticky routing enables stronger, available consistency; describes implementations: Uber’s RingPop (SWIM gossip + consistent hashing), Orleans/ Halo (actor runtime with DHT + consistent-hash lookup) and Facebook’s Scuba (random writes, full-cluster reads and a completeness metric). Gives operational fixes: back pressure for persistent connections, fast restarts to cut multi-hour restarts, and claims production win of 90–95% CPU utilization.
AI-written summary · about
chapters (32)
- 0:00Introduction
- 0:52Stateless Services
- 2:02Data Shipping
- 3:15Overview
- 4:04Data Locality
- 4:40Function Shipping Paradigm
- 5:24Sticky Connections
- 6:32Werner Vogel
- 7:28CV Connection
- 7:45Persistent Connections
- 9:17Routing Logic
- 10:02Static Cluster Membership
- 11:03Dynamic Cluster Membership
- 11:25Gossip Protocols
- 13:38Work Distribution
- 13:53Random Placement
- 14:42Consistent Hashing
- 16:39Distributed Hash Tables
- 17:25Stateful Services
- 17:41Scuba
- 19:16RingPop
- 20:59Arlenes
- 22:38Cluster Membership
- 23:10Cluster Distribution
- 23:33Distributed Hash Table
- 25:50Explicit Bounds
- 27:03Memory Management
- 28:22Reloading State
- 31:21Fast Restarts
- 33:12Conclusion
- 34:05Should I read papers
- 34:44Thank you
related talks
43mIntro to Stateful Services
28mSWIMming in the microservices ocean
34mSWIMming in the Microservices Ocean
39mManaging Consistency, State and Identity in Distributed Microservices
52mBeyond Microservices: Streams, State and Scalability
37mBeyond Microservices: Streams, State & Scalability
54mServices, Services, Everywhere!
30mDistributed system design
