Scaling Memcache
summary
Facebook scales memcached into a distributed KV layer that handles billions of gets per second and stores trillions of items by adding client-side logic and routing. It creates 64-bit lease id conditional sets and cache-side arbitration to prevent thundering herds, uses a commit-log invalidator called mcsql to broadcast deletes through a memcache router tier mcrouter, applies a sliding-window client throttle to avoid incast, and reports about an 18x reduction in inter-cluster packet density.
AI-written summary · about
chapters (23)
- 0:00Introduction
- 0:35Infrastructure Requirements
- 1:13Design Requirements
- 1:55Memcache
- 2:51Background
- 3:08Why Memcache
- 3:48Memcache Servers
- 4:36Delete
- 5:10Stale Sets
- 6:23Thundering Herds
- 7:30Scaling
- 9:19Frontend Cluster
- 10:08Database Invalidation
- 11:06Reducing Packet Density
- 12:13Larger Scale
- 12:30Distributed Data Centers
- 12:56Single Master
- 13:13NonMaster
- 14:15Remote Markers
- 15:14Recap
- 15:50Lessons Learned
- 17:05Questions
- 22:41Clarification
related talks
17mBuilding Scalable Caching Systems via McRouter
40mFlashcache at mamba.ru
43mMulti-tenant HBase Solutions at Facebook
43mCaching half a billion user transactions
01h 01mPanel: Facebook's Distributed Database Evolution
33mWhat the Cache?!
26mCache Me If You Can: How Grafana Labs Scaled Up Their...
13mBMC: Accelerating Memcached using Safe In-kernel Caching and Pre-stack Processing
